{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Scraping the web with BeautifulSoup\n", "\n", "We are going to get information out of websites using `requests` and `beautifulsoup`.\n", "\n", "## Installation\n", "\n", "With conda, you can install the required dependencies with:\n", "\n", "```bash\n", "conda install beautifulsoup4 requests\n", "```\n", "\n", "or\n", "\n", "```bash\n", "python3 -m pip install beautifulsoup4 requests\n", "```\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic usage of BeautifulSoup" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we import the `BeatifulSoup` class:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from bs4 import BeautifulSoup" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We load the html source file from disk and pass the contents to the BeautifulSoup constructor." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", " \n", " Sample HTML document\n", " \n", " \n", "

An Unordered HTML List

\n", "\n", " \n", "\n", "

An Ordered HTML List

\n", "\n", "
    \n", "
  1. First
  2. \n", "
  3. Second
  4. \n", "
  5. Third
  6. \n", "
\n", " \n", "\n", "\n" ] } ], "source": [ "with open(\"list.html\") as f:\n", " html = f.read()\n", " document = BeautifulSoup(html, \"html.parser\")\n", "print(html)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " Sample HTML document\n", " \n", " \n", "

An Unordered HTML List

\n", "\n", " \n", "\n", "

An Ordered HTML List

\n", "\n", "
    \n", "
  1. First
  2. \n", "
  3. Second
  4. \n", "
  5. Third
  6. \n", "
\n", " \n", "\n" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import HTML\n", "\n", "HTML(html)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Finding tags by name\n", "\n", "The document now contains the full html document. We can find the first occuring tag with a specific name with the `find` function. Let's find the first un-ordered list tag:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "ulist = document.find(\"ul\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result contains all tags contained in the matched tag:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ulist" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `find_all` function returns **all** tags that match the given tag name. We can use it to get a list of all list items:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[
  • Coffee
  • ,
  • Tea
  • ,
  • Milk
  • ]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "items = ulist.find_all(\"li\")\n", "items" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can loop over all items and extract their contant with the `get_text` function:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "'Coffee'\n", "'Tea'\n", "'Milk'\n" ] } ], "source": [ "for item in items:\n", " print(repr(item.get_text()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because whitespace is not meaningful in HTML,\n", "it is often useful to strip it when you are getting the content of a tag.\n", "You can do this with `strip=True`" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "'Coffee'\n", "'Tea'\n", "'Milk'\n" ] } ], "source": [ "for item in items:\n", " print(repr(item.get_text(strip=True)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that `find_all` is **recursive** by default. This means that we could call it the on the full `document` to get the items\n", "of both the ordered and un-ordered lists:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[
  • Coffee
  • ,\n", "
  • Tea
  • ,\n", "
  • Milk
  • ,\n", "
  • First
  • ,\n", "
  • Second
  • ,\n", "
  • Third
  • ]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "document.find_all(\"li\")" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "document.find_all(\"li\", recursive=False)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[
  • Coffee
  • ,
  • Tea
  • ,
  • Milk
  • ]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ulist.find_all(\"li\", recursive=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A recursive search finds all `li` tags anywhere." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "document.find_all(\"li\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Finding tags by attributes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sometimes the easiest way to find a tag is by its attribute name. In our examples, both lists have an `id` attribute that uniquely identifies the tables. We can also use the `find*` methods to search for attributes:\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "document.find(attrs={\"id\": \"unordered_list\"})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Accessing attributes\n", "\n", "The `ul` tag also contains a `style` attribute. Any bs4 tag behaves like a dictionary with attribute names as keys and attribute values as values:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'id': 'unordered_list', 'style': 'color: #f0e'}" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ulist.attrs" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'color: #f0e'" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ulist[\"style\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Downloading a table from Wikipedia\n", "\n", "We aim to get a list of countries sorted by their population size:\n", "https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_by_population\n", "\n", "First, let's import the required modules:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "import re\n", "\n", "import dateutil\n", "import requests\n", "from bs4 import BeautifulSoup" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This time, we load the html directly from a website using the requests module:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_by_population'" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "url = \"https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_by_population\"\n", "\n", "r = requests.get(url)\n", "url" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The web server returns a status code to indicate if the request was (un-)succesfully.\n", "We use that status-code to check if the page was succesfully loaded:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "assert r.status_code == 200" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we extract the html source and initiated BeautifulSoup:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "html = r.text\n", "document = BeautifulSoup(html, \"html.parser\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "by looking at the document, we can see that we are interested in first table. So we use `find`:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "table = document.find(\"table\", class_=\"wikitable\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you are not familiar with html table, read this example first: https://www.w3schools.com/html/tryit.asp?filename=tryhtml_table_intro" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rows[0]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['',\n", " 'Country/Dependency',\n", " 'Population',\n", " '% ofworld',\n", " 'Date',\n", " 'Source (official or fromtheUnited Nations)',\n", " '']" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "column_names = [th.get_text(strip=True) for th in rows[0].find_all(\"th\")]\n", "column_names" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 World 8.06e+09 100.0% 2023-10-04\n", "1 China 1.41e+09 17.5% 2022-12-31\n", "2 India 1.39e+09 17.3% 2023-03-01\n", "3 United States 3.35e+08 4.2% 2023-10-04\n", "4 Indonesia 2.79e+08 3.5% 2023-07-01\n", "5 Pakistan 2.41e+08 3.0% 2023-03-01\n", "6 Nigeria 2.17e+08 2.7% 2022-03-21\n", "7 Brazil 2.03e+08 2.5% 2022-08-01\n", "8 Bangladesh 1.70e+08 2.1% 2022-06-14\n", "9 Russia 1.46e+08 1.8% 2023-01-01\n", "10 Mexico 1.29e+08 1.6% 2023-06-30\n", "11 Japan 1.24e+08 1.5% 2023-09-01\n", "12 Philippines 1.11e+08 1.4% 2023-10-04\n", "13 Ethiopia 1.07e+08 1.3% 2023-07-01\n", "14 Egypt 1.05e+08 1.3% 2023-10-04\n", "15 Vietnam 1.00e+08 1.2% 2023-04-04\n", "16 DR Congo 9.54e+07 1.2% 2019-07-01\n", "17 Iran 8.53e+07 1.1% 2023-10-04\n", "18 Turkey 8.53e+07 1.1% 2022-12-31\n", "19 Germany 8.45e+07 1.0% 2023-06-30\n", "20 Thailand 6.83e+07 0.8% 2021-07-01\n", "21 France 6.82e+07 0.8% 2023-09-01\n", "22 United Kingdom 6.70e+07 0.8% 2021-06-30\n", "23 Tanzania 6.17e+07 0.8% 2022-08-23\n", "24 South Africa 6.06e+07 0.8% 2022-07-01\n", "25 Italy 5.88e+07 0.7% 2023-07-31\n", "26 Myanmar 5.58e+07 0.7% 2022-07-01\n", "27 Colombia 5.22e+07 0.6% 2023-06-30\n", "28 Kenya 5.15e+07 0.6% 2023-01-01\n", "29 South Korea 5.14e+07 0.6% 2022-12-31\n", "30 Spain 4.83e+07 0.6% 2023-07-01\n", "31 Argentina 4.67e+07 0.6% 2023-07-01\n", "32 Algeria 4.54e+07 0.6% 2022-01-01\n", "33 Iraq 4.33e+07 0.5% 2023-07-01\n", "34 Uganda 4.29e+07 0.5% 2021-07-01\n", "35 Sudan 4.20e+07 0.5% 2018-07-01\n", "36 Ukraine 4.11e+07 0.5% 2022-02-01\n", "37 Canada 4.04e+07 0.5% 2023-10-04\n", "38 Poland 3.77e+07 0.5% 2023-07-31\n", "39 Morocco 3.71e+07 0.5% 2023-10-04\n", "40 Uzbekistan 3.64e+07 0.5% 2023-07-01\n", "41 Afghanistan 3.43e+07 0.4% 2023-01-01\n", "42 Peru 3.34e+07 0.4% 2022-07-01\n", "43 Malaysia 3.34e+07 0.4% 2023-06-30\n", "44 Angola 3.31e+07 0.4% 2022-06-30\n", "45 Mozambique 3.24e+07 0.4% 2022-07-01\n", "46 Saudi Arabia 3.22e+07 0.4% 2022-05-10\n", "47 Yemen 3.19e+07 0.4% 2022-07-01\n", "48 Ghana 3.08e+07 0.4% 2021-06-27\n", "49 Ivory Coast 2.94e+07 0.4% 2021-12-14\n", "50 Nepal 2.92e+07 0.4% 2021-11-25\n", "51 Venezuela 2.83e+07 0.4% 2019-06-30\n", "52 Cameroon 2.81e+07 0.3% 2023-07-01\n", "53 Madagascar 2.69e+07 0.3% 2021-07-01\n", "54 Australia 2.68e+07 0.3% 2023-10-04\n", "55 North Korea 2.57e+07 0.3% 2021-07-01\n", "56 Niger 2.54e+07 0.3% 2023-07-01\n", "56 Taiwan 2.34e+07 0.3% 2023-08-31\n", "57 Syria 2.29e+07 0.3% 2021-07-01\n", "58 Mali 2.24e+07 0.3% 2022-06-15\n", "59 Burkina Faso 2.22e+07 0.3% 2022-07-01\n", "60 Sri Lanka 2.20e+07 0.3% 2023-07-01\n", "61 Malawi 2.15e+07 0.3% 2022-07-01\n", "62 Chile 2.00e+07 0.2% 2023-06-30\n", "63 Kazakhstan 1.99e+07 0.2% 2023-09-01\n", "64 Zambia 1.96e+07 0.2% 2022-09-14\n", "65 Romania 1.91e+07 0.2% 2023-01-01\n", "66 Ecuador 1.84e+07 0.2% 2023-10-04\n", "67 Senegal 1.83e+07 0.2% 2023-07-01\n", "68 Somalia 1.81e+07 0.2% 2023-07-01\n", "69 Netherlands 1.79e+07 0.2% 2023-10-04\n", "70 Guatemala 1.76e+07 0.2% 2023-07-01\n", "71 Chad 1.74e+07 0.2% 2022-07-01\n", "72 Cambodia 1.71e+07 0.2% 2023-07-01\n", "73 Zimbabwe 1.52e+07 0.2% 2022-04-20\n", "74 Guinea 1.33e+07 0.2% 2022-07-01\n", "75 South Sudan 1.32e+07 0.2% 2020-07-01\n", "76 Rwanda 1.32e+07 0.2% 2022-08-15\n", "77 Burundi 1.28e+07 0.2% 2022-07-01\n", "78 Benin 1.26e+07 0.2% 2023-07-01\n", "79 Bolivia 1.20e+07 0.1% 2022-07-01\n", "80 Tunisia 1.19e+07 0.1% 2023-01-01\n", "81 Papua New Guinea 1.18e+07 0.1% 2021-07-01\n", "82 Belgium 1.18e+07 0.1% 2023-08-01\n", "83 Haiti 1.17e+07 0.1% 2020-07-01\n", "84 Jordan 1.15e+07 0.1% 2023-10-04\n", "85 Cuba 1.11e+07 0.1% 2022-12-31\n", "86 Czech Republic 1.09e+07 0.1% 2023-06-30\n", "87 Sweden 1.05e+07 0.1% 2023-08-01\n", "88 Dominican Republic 1.05e+07 0.1% 2021-07-01\n", "89 Greece 1.05e+07 0.1% 2021-10-22\n", "90 Portugal 1.05e+07 0.1% 2022-12-31\n", "91 Azerbaijan 1.02e+07 0.1% 2023-07-01\n", "92 Tajikistan 1.01e+07 0.1% 2023-01-01\n", "93 Israel 9.80e+06 0.1% 2023-07-31\n", "94 Honduras 9.75e+06 0.1% 2023-07-01\n", "95 Hungary 9.60e+06 0.1% 2023-01-01\n", "96 United Arab Emirates 9.28e+06 0.1% 2020-12-31\n", "97 Belarus 9.20e+06 0.1% 2023-01-01\n", "98 Austria 9.13e+06 0.1% 2023-07-01\n", "99 Switzerland 8.90e+06 0.1% 2023-06-30\n", "100 Sierra Leone 8.49e+06 0.1% 2022-07-01\n", "101 Togo 8.10e+06 0.1% 2022-11-08\n", "101 Hong Kong(China) 7.50e+06 0.1% 2023-06-30\n", "102 Laos 7.44e+06 0.1% 2022-07-01\n", "103 Kyrgyzstan 7.10e+06 0.1% 2023-03-01\n", "104 Turkmenistan 7.06e+06 0.1% 2022-12-17\n", "105 Libya 6.93e+06 0.1% 2020-01-01\n", "106 El Salvador 6.88e+06 0.1% 2022-07-01\n", "107 Nicaragua 6.73e+06 0.1% 2022-06-30\n", "108 Serbia 6.65e+06 0.1% 2022-10-31\n", "109 Bulgaria 6.45e+06 0.1% 2022-12-31\n", "110 Paraguay 6.11e+06 0.1% 2022-11-10\n", "111 Congo 6.11e+06 0.1% 2023-07-01\n", "112 Denmark 5.94e+06 0.1% 2023-07-01\n", "113 Singapore 5.92e+06 0.1% 2023-06-30\n", "114 Central African Republic 5.63e+06 0.1% 2020-07-01\n", "115 Finland 5.56e+06 0.1% 2023-08-31\n", "116 Norway 5.51e+06 0.1% 2023-06-30\n", "117 Lebanon 5.49e+06 0.1% 2021-07-01\n", "118 Palestine 5.48e+06 0.1% 2023-01-01\n", "119 Slovakia 5.43e+06 0.1% 2023-06-30\n", "120 Ireland 5.28e+06 0.1% 2023-04-01\n", "121 Costa Rica 5.26e+06 0.1% 2023-06-30\n", "122 New Zealand 5.22e+06 0.1% 2023-06-30\n", "123 Oman 5.11e+06 0.1% 2023-08-31\n", "124 Kuwait 4.67e+06 0.1% 2020-12-31\n", "125 Liberia 4.66e+06 0.1% 2021-07-01\n", "126 Mauritania 4.48e+06 0.1% 2023-07-01\n", "127 Panama 4.34e+06 0.1% 2021-07-01\n", "128 Croatia 3.86e+06 0.1% 2022-07-01\n", "129 Eritrea 3.75e+06 0.1% 2023-07-01\n", "130 Georgia 3.74e+06 0.1% 2023-01-01\n", "131 Uruguay 3.57e+06 0.0% 2023-06-30\n", "132 Mongolia 3.46e+06 0.0% 2022-12-31\n", "133 Bosnia and Herzegovina 3.28e+06 0.0% 2022-07-01\n", "133 Puerto Rico(US) 3.22e+06 0.0% 2022-07-01\n", "134 Armenia 2.98e+06 0.0% 2023-01-01\n", "135 Lithuania 2.87e+06 0.0% 2023-09-01\n", "136 Jamaica 2.83e+06 0.0% 2019-07-01\n", "137 Albania 2.76e+06 0.0% 2023-01-01\n", "138 Qatar 2.66e+06 0.0% 2023-06-30\n", "139 Namibia 2.64e+06 0.0% 2023-07-01\n", "140 Moldova 2.51e+06 0.0% 2023-01-01\n", "141 Gambia 2.42e+06 0.0% 2022-07-01\n", "142 Botswana 2.41e+06 0.0% 2021-07-01\n", "143 Lesotho 2.31e+06 0.0% 2023-07-01\n", "144 Gabon 2.23e+06 0.0% 2021-07-01\n", "145 Slovenia 2.12e+06 0.0% 2023-04-01\n", "146 Latvia 1.88e+06 0.0% 2023-08-01\n", "147 North Macedonia 1.83e+06 0.0% 2021-11-01\n", "148 Guinea-Bissau 1.78e+06 0.0% 2023-07-01\n", "148 Kosovo 1.77e+06 0.0% 2021-12-31\n", "149 Bahrain 1.58e+06 0.0% 2023-07-01\n", "150 Equatorial Guinea 1.56e+06 0.0% 2022-07-01\n", "151 Estonia 1.37e+06 0.0% 2023-01-01\n", "152 Trinidad and Tobago 1.37e+06 0.0% 2022-06-30\n", "153 East Timor 1.35e+06 0.0% 2023-07-01\n", "154 Mauritius 1.26e+06 0.0% 2023-06-30\n", "155 Eswatini 1.22e+06 0.0% 2023-07-01\n", "156 Djibouti 1.00e+06 0.0% 2022-07-01\n", "157 Cyprus 9.18e+05 0.0% 2021-10-01\n", "158 Fiji 8.93e+05 0.0% 2021-07-01\n", "159 Bhutan 7.70e+05 0.0% 2023-10-04\n", "160 Comoros 7.58e+05 0.0% 2017-12-15\n", "161 Guyana 7.44e+05 0.0% 2019-07-01\n", "162 Solomon Islands 7.35e+05 0.0% 2023-07-01\n", "162 Macau(China) 6.79e+05 0.0% 2023-06-30\n", "163 Luxembourg 6.61e+05 0.0% 2023-01-01\n", "164 Montenegro 6.17e+05 0.0% 2023-01-01\n", "165 Suriname 6.16e+05 0.0% 2021-07-01\n", "165 Western Sahara 5.87e+05 0.0% 2023-07-01\n", "166 Malta 5.20e+05 0.0% 2021-11-21\n", "167 Cape Verde 4.91e+05 0.0% 2021-06-16\n", "168 Brunei 4.45e+05 0.0% 2022-07-01\n", "169 Belize 4.41e+05 0.0% 2022-07-01\n", "170 Bahamas 3.97e+05 0.0% 2022-07-01\n", "171 Iceland 3.94e+05 0.0% 2023-07-01\n", "171 Northern Cyprus 3.83e+05 0.0% 2020-12-31\n", "172 Maldives 3.83e+05 0.0% 2022-09-13\n", "172 Transnistria 3.61e+05 0.0% 2022-12-31\n", "173 Vanuatu 3.01e+05 0.0% 2021-07-01\n", "173 French Polynesia(France) 2.80e+05 0.0% 2021-07-01\n", "173 New Caledonia(France) 2.69e+05 0.0% 2023-01-01\n", "174 Barbados 2.68e+05 0.0% 2022-12-31\n", "174 Abkhazia 2.45e+05 0.0% 2020-01-01\n", "175 São Tomé and Príncipe 2.15e+05 0.0% 2021-07-01\n", "176 Samoa 2.06e+05 0.0% 2021-11-06\n", "177 Saint Lucia 1.79e+05 0.0% 2018-07-01\n", "177 Guam(US) 1.54e+05 0.0% 2020-04-01\n", "177 Curacao(Netherlands) 1.49e+05 0.0% 2023-01-01\n", "177 Artsakh 1.49e+05 0.0% 2019-10-01\n", "178 Kiribati 1.21e+05 0.0% 2021-07-01\n", "179 Grenada 1.13e+05 0.0% 2019-07-01\n", "180 Saint Vincent and the Grenadines 1.11e+05 0.0% 2022-07-01\n", "180 Aruba(Netherlands) 1.07e+05 0.0% 2022-09-30\n", "181 Micronesia 1.06e+05 0.0% 2021-07-01\n", "181 Jersey(UK) 1.03e+05 0.0% 2021-03-21\n", "182 Antigua and Barbuda 1.01e+05 0.0% 2022-01-01\n", "183 Seychelles 1.00e+05 0.0% 2022-04-22\n", "184 Tonga 1.00e+05 0.0% 2022-01-01\n", "184 US Virgin Islands(US) 8.71e+04 0.0% 2020-04-01\n", "184 Isle of Man(UK) 8.41e+04 0.0% 2021-05-30\n", "185 Andorra 8.35e+04 0.0% 2023-06-30\n", "185 Cayman Islands(UK) 7.11e+04 0.0% 2020-09-30\n", "186 Dominica 6.74e+04 0.0% 2017-12-31\n", "186 Guernsey(UK) 6.42e+04 0.0% 2022-09-30\n", "186 Bermuda(UK) 6.41e+04 0.0% 2021-07-01\n", "186 Greenland(Denmark) 5.69e+04 0.0% 2023-07-01\n", "186 South Ossetia 5.65e+04 0.0% 2021-12-31\n", "186 Faroe Islands(Denmark) 5.47e+04 0.0% 2023-08-01\n", "186 American Samoa(US) 4.97e+04 0.0% 2020-04-01\n", "186 Northern Mariana Islands(US) 4.73e+04 0.0% 2020-04-01\n", "187 Saint Kitts and Nevis 4.72e+04 0.0% 2011-05-15\n", "187 Turks and Caicos Islands(UK) 4.61e+04 0.0% 2021-07-01\n", "187 Sint Maarten(Netherlands) 4.29e+04 0.0% 2023-01-01\n", "188 Marshall Islands 4.24e+04 0.0% 2021-09-30\n", "189 Liechtenstein 3.97e+04 0.0% 2022-12-31\n", "190 Monaco 3.90e+04 0.0% 2022-12-31\n", "190 Gibraltar(UK) 3.40e+04 0.0% 2016-07-01\n", "191 San Marino 3.39e+04 0.0% 2023-07-31\n", "191 Saint Martin(France) 3.24e+04 0.0% 2020-01-01\n", "191 British Virgin Islands(UK) 3.15e+04 0.0% 2023-07-01\n", "191 Åland(Finland) 3.06e+04 0.0% 2023-08-31\n", "192 Palau 1.67e+04 0.0% 2021-07-01\n", "192 Anguilla(UK) 1.57e+04 0.0% 2021-12-31\n", "192 Cook Islands 1.50e+04 0.0% 2021-07-01\n", "193 Nauru 1.18e+04 0.0% 2021-07-01\n", "193 Wallis and Futuna(France) 1.14e+04 0.0% 2021-01-01\n", "194 Tuvalu 1.07e+04 0.0% 2021-07-01\n", "194 Saint Barthélemy(France) 1.06e+04 0.0% 2020-01-01\n", "194 Saint Pierre and Miquelon(France) 6.09e+03 0.0% 2020-01-01\n", "194 Saint Helena, Ascension and Tristan da Cunha(UK) 5.65e+03 0.0% 2021-07-01\n", "194 Montserrat(UK) 4.43e+03 0.0% 2022-07-01\n", "194 Falkland Islands(UK) 3.66e+03 0.0% 2021-10-10\n", "194 Norfolk Island(Australia) 2.19e+03 0.0% 2021-01-01\n", "194 Christmas Island(Australia) 1.69e+03 0.0% 2021-01-01\n", "194 Tokelau(NZ) 1.65e+03 0.0% 2019-01-01\n", "194 Niue 1.55e+03 0.0% 2021-07-01\n", "195 Vatican City 7.64e+02 0.0% 2023-06-26\n", "195 Cocos (Keeling) Islands(Australia) 5.93e+02 0.0% 2020-06-30\n", "195 Pitcairn Islands(UK) 4.70e+01 0.0% 2021-07-01\n" ] } ], "source": [ "last_rank = 0\n", "for row in rows[1:]:\n", " cells = row.find_all([\"th\", \"td\"])\n", " if not cells:\n", " continue\n", " cells_text = [cell.get_text(strip=True) for cell in cells]\n", " rank, country, population, percentage, updated_at, source, *comment = cells_text\n", " if not rank.isdigit():\n", " rank = last_rank\n", " else:\n", " last_rank = rank\n", " rank = int(rank)\n", " population = int(population.replace(\",\", \"\"))\n", " percentage = float(re.findall(r\"[\\d\\.]+\", percentage)[0]) / 100\n", " updated_at = dateutil.parser.parse(updated_at).date()\n", "\n", " print(rank, country, f\"{population:,.2e}\", f\"{percentage:.1%}\", updated_at)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Attention**: Beautiful Soup does not execute Javascript. This means that you the code in your browser inspector might look a bit different from the original HTML source code. " ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "# Another example of downloading a Wikipedia table \n", "\n", "Let's consider another table in a Wikipedia page. This page has a lot more tables, so one challenge will be to pick the right table\n", "\n", "https://en.wikipedia.org/wiki/Serena_Williams\n", "\n", "\n", "We are interested in extracting these two tables:\n", "\n", "![Target Wikipedia tables](figs/wiki_tables.png)\n", "\n", "**Exercise**: \n", "\n", "Find the tables on a page by locating heading and using `.find_next()`\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We begin by downloading the webpage and instatiating the BeautifulSoup object:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "r = requests.get(\"https://en.wikipedia.org/wiki/Serena_Williams\")\n", "document = BeautifulSoup(r.text, \"html.parser\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This page contains a lot of tables without specific attributes that would make it easy to find our table of interest. Further, the same headings of the tables are used for multiple tables, making it difficult to find a table just by its headings:" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "75" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(document.find_all(\"table\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Therefore, we choose another strategy.\n", "\n", "First, we find the tag with class `mw-headling` whose `string` content _starts with_ `Singles`.\n", "Then we find the _next_ table using `heading_element.find_next(...)`:" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[Singles: 33 (23–10)]" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "document.find_all(class_=\"mw-headline\", string=re.compile(\"^Singles\"))" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Singles: 33 (23–10)" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# string class\n", "singles_heading = document.find(class_=\"mw-headline\", string=re.compile(\"^Singles\"))\n", "singles_heading" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "scrolled": true, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "
    Country / DependencyPopulation% of
    world
    DateSource (official or from
    the United Nations)
    \n", "
    –\n", "World\n", "8,063,588,000100%4 Oct 2023\n", "UN projection[3]\n", "
    1\n", "\n", "Country / DependencyPopulation% of
    world
    DateSource (official or from
    the United Nations)
    \n", "
    \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
    Result\n", "Year\n", "Tournament\n", "Surface\n", "Opponents\n", "Score\n", "
    Win1999US OpenHard\"Switzerland\" Martina Hingis6–3, 7–6(7–4)\n", "
    Loss2001US OpenHard\"United Venus Williams2–6, 4–6\n", "
    Win2002French OpenClay\"United Venus Williams7–5, 6–3\n", "
    Win2002WimbledonGrass\"United Venus Williams7–6(7–4), 6–3\n", "
    Win2002US Open (2)Hard\"United Venus Williams6–4, 6–3\n", "
    Win2003Australian OpenHard\"United Venus Williams7–6(7–4), 3–6, 6–4\n", "
    Win2003Wimbledon (2)Grass\"United Venus Williams4–6, 6–4, 6–2\n", "
    Loss2004WimbledonGrass\"Russia\" Maria Sharapova1–6, 4–6\n", "
    Win2005Australian Open (2)Hard\"United Lindsay Davenport2–6, 6–3, 6–0\n", "
    Win2007Australian Open (3)Hard\"Russia\" Maria Sharapova6–1, 6–2\n", "
    Loss2008WimbledonGrass\"United Venus Williams5–7, 4–6\n", "
    Win2008US Open (3)Hard\"Serbia\" Jelena Janković6–4, 7–5\n", "
    Win2009Australian Open (4)Hard\"Russia\" Dinara Safina6–0, 6–3\n", "
    Win2009Wimbledon (3)Grass\"United Venus Williams7–6(7–3), 6–2\n", "
    Win2010Australian Open (5)Hard\"Belgium\" Justine Henin6–4, 3–6, 6–2\n", "
    Win2010Wimbledon (4)Grass\"Russia\" Vera Zvonareva6–3, 6–2\n", "
    Loss2011US OpenHard\"Australia\" Samantha Stosur2–6, 3–6\n", "
    Win2012Wimbledon (5)Grass\"Poland\" Agnieszka Radwańska6–1, 5–7, 6–2\n", "
    Win2012US Open (4)Hard\"Belarus\" Victoria Azarenka6–2, 2–6, 7–5\n", "
    Win2013French Open (2)Clay\"Russia\" Maria Sharapova6–4, 6–4\n", "
    Win2013US Open (5)Hard\"Belarus\" Victoria Azarenka7–5, 6–7(6–8), 6–1\n", "
    Win2014US Open (6)Hard\"Denmark\" Caroline Wozniacki6–3, 6–3\n", "
    Win2015Australian Open (6)Hard\"Russia\" Maria Sharapova6–3, 7–6(7–5)\n", "
    Win2015French Open (3)Clay\"Czech Lucie Šafářová6–3, 6–7(2–7), 6–2\n", "
    Win2015Wimbledon (6)Grass\"Spain\" Garbiñe Muguruza6–4, 6–4\n", "
    Loss2016Australian OpenHard\"Germany\" Angelique Kerber4–6, 6–3, 4–6\n", "
    Loss2016French OpenClay\"Spain\" Garbiñe Muguruza5–7, 4–6\n", "
    Win2016Wimbledon (7)Grass\"Germany\" Angelique Kerber7–5, 6–3\n", "
    Win2017Australian Open (7)Hard\"United Venus Williams6–4, 6–4\n", "
    Loss2018WimbledonGrass\"Germany\" Angelique Kerber3–6, 3–6\n", "
    Loss2018US OpenHard\"Japan\" Naomi Osaka2–6, 4–6\n", "
    Loss2019WimbledonGrass\"Romania\" Simona Halep2–6, 2–6\n", "
    Loss2019US OpenHard\"Canada\" Bianca Andreescu3–6, 5–7\n", "
    " ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "singles_heading.find_next(\"table\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, our tables of interest are the first two result tables for \"Singles\" and \"Women's doubles\". We write a small helper function that returns a table with a given heading:" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "def find_table_with_heading(document, heading_pat):\n", " heading_element = document.find(class_=\"mw-headline\", string=heading_pat)\n", " table = heading_element.find_next(\"table\")\n", " return table" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Result', 'Year', 'Tournament', 'Surface', 'Opponents', 'Score']" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "singles_table = find_table_with_heading(document, re.compile(\"^Singles\"))\n", "# print headers\n", "headings = singles_table.find_all(\"th\")\n", "[th.get_text(strip=True) for th in headings]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we can find the table after the heading \"Women's doubles\"" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Result', 'Year', 'Tournament', 'Surface', 'Partner', 'Opponents', 'Score']" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "doubles_table = find_table_with_heading(document, re.compile(r\"^Women's doubles\"))\n", "# print headers\n", "headings = doubles_table.find_all(\"th\")\n", "[th.get_text(strip=True) for th in headings]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise:\n", "\n", "- Iterate through the rows\n", "- convert year to integer (or date)\n", "- strip note '(12)' from event, so the same event has the same string\n", "- load into pandas DataFrame (more on pandas in a later lecture)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "re.sub?" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Win', 1999, 'US Open', 'Hard', 'Martina Hingis', '6–3, 7–6(7–4)']\n", "['Loss', 2001, 'US Open', 'Hard', 'Venus Williams', '2–6, 4–6']\n", "['Win', 2002, 'French Open', 'Clay', 'Venus Williams', '7–5, 6–3']\n", "['Win', 2002, 'Wimbledon', 'Grass', 'Venus Williams', '7–6(7–4), 6–3']\n", "['Win', 2002, 'US Open', 'Hard', 'Venus Williams', '6–4, 6–3']\n", "['Win', 2003, 'Australian Open', 'Hard', 'Venus Williams', '7–6(7–4), 3–6, 6–4']\n", "['Win', 2003, 'Wimbledon', 'Grass', 'Venus Williams', '4–6, 6–4, 6–2']\n", "['Loss', 2004, 'Wimbledon', 'Grass', 'Maria Sharapova', '1–6, 4–6']\n", "['Win', 2005, 'Australian Open', 'Hard', 'Lindsay Davenport', '2–6, 6–3, 6–0']\n", "['Win', 2007, 'Australian Open', 'Hard', 'Maria Sharapova', '6–1, 6–2']\n", "['Loss', 2008, 'Wimbledon', 'Grass', 'Venus Williams', '5–7, 4–6']\n", "['Win', 2008, 'US Open', 'Hard', 'Jelena Janković', '6–4, 7–5']\n", "['Win', 2009, 'Australian Open', 'Hard', 'Dinara Safina', '6–0, 6–3']\n", "['Win', 2009, 'Wimbledon', 'Grass', 'Venus Williams', '7–6(7–3), 6–2']\n", "['Win', 2010, 'Australian Open', 'Hard', 'Justine Henin', '6–4, 3–6, 6–2']\n", "['Win', 2010, 'Wimbledon', 'Grass', 'Vera Zvonareva', '6–3, 6–2']\n", "['Loss', 2011, 'US Open', 'Hard', 'Samantha Stosur', '2–6, 3–6']\n", "['Win', 2012, 'Wimbledon', 'Grass', 'Agnieszka Radwańska', '6–1, 5–7, 6–2']\n", "['Win', 2012, 'US Open', 'Hard', 'Victoria Azarenka', '6–2, 2–6, 7–5']\n", "['Win', 2013, 'French Open', 'Clay', 'Maria Sharapova', '6–4, 6–4']\n", "['Win', 2013, 'US Open', 'Hard', 'Victoria Azarenka', '7–5, 6–7(6–8), 6–1']\n", "['Win', 2014, 'US Open', 'Hard', 'Caroline Wozniacki', '6–3, 6–3']\n", "['Win', 2015, 'Australian Open', 'Hard', 'Maria Sharapova', '6–3, 7–6(7–5)']\n", "['Win', 2015, 'French Open', 'Clay', 'Lucie Šafářová', '6–3, 6–7(2–7), 6–2']\n", "['Win', 2015, 'Wimbledon', 'Grass', 'Garbiñe Muguruza', '6–4, 6–4']\n", "['Loss', 2016, 'Australian Open', 'Hard', 'Angelique Kerber', '4–6, 6–3, 4–6']\n", "['Loss', 2016, 'French Open', 'Clay', 'Garbiñe Muguruza', '5–7, 4–6']\n", "['Win', 2016, 'Wimbledon', 'Grass', 'Angelique Kerber', '7–5, 6–3']\n", "['Win', 2017, 'Australian Open', 'Hard', 'Venus Williams', '6–4, 6–4']\n", "['Loss', 2018, 'Wimbledon', 'Grass', 'Angelique Kerber', '3–6, 3–6']\n", "['Loss', 2018, 'US Open', 'Hard', 'Naomi Osaka', '2–6, 4–6']\n", "['Loss', 2019, 'Wimbledon', 'Grass', 'Simona Halep', '2–6, 2–6']\n", "['Loss', 2019, 'US Open', 'Hard', 'Bianca Andreescu', '3–6, 5–7']\n" ] } ], "source": [ "data = []\n", "for row in singles_table.find_all(\"tr\"):\n", " cells = row.find_all(\"td\")\n", " if not cells:\n", " continue\n", " values = [cell.get_text(strip=True) for cell in cells]\n", " values[1] = int(values[1])\n", " values[2] = re.sub(r\"\\s*\\(.+\\)\", \"\", values[2])\n", " print(values)\n", " data.append(values)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When data is in this form, we can convert it into a DataFrame with pandas.\n", "\n", "You'll learn more about pandas next week." ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    ResultYearTournamentSurfaceOpponentsScore
    0Win1999US OpenHardMartina Hingis6–3, 7–6(7–4)
    1Loss2001US OpenHardVenus Williams2–6, 4–6
    2Win2002French OpenClayVenus Williams7–5, 6–3
    3Win2002WimbledonGrassVenus Williams7–6(7–4), 6–3
    4Win2002US OpenHardVenus Williams6–4, 6–3
    5Win2003Australian OpenHardVenus Williams7–6(7–4), 3–6, 6–4
    6Win2003WimbledonGrassVenus Williams4–6, 6–4, 6–2
    7Loss2004WimbledonGrassMaria Sharapova1–6, 4–6
    8Win2005Australian OpenHardLindsay Davenport2–6, 6–3, 6–0
    9Win2007Australian OpenHardMaria Sharapova6–1, 6–2
    10Loss2008WimbledonGrassVenus Williams5–7, 4–6
    11Win2008US OpenHardJelena Janković6–4, 7–5
    12Win2009Australian OpenHardDinara Safina6–0, 6–3
    13Win2009WimbledonGrassVenus Williams7–6(7–3), 6–2
    14Win2010Australian OpenHardJustine Henin6–4, 3–6, 6–2
    15Win2010WimbledonGrassVera Zvonareva6–3, 6–2
    16Loss2011US OpenHardSamantha Stosur2–6, 3–6
    17Win2012WimbledonGrassAgnieszka Radwańska6–1, 5–7, 6–2
    18Win2012US OpenHardVictoria Azarenka6–2, 2–6, 7–5
    19Win2013French OpenClayMaria Sharapova6–4, 6–4
    20Win2013US OpenHardVictoria Azarenka7–5, 6–7(6–8), 6–1
    21Win2014US OpenHardCaroline Wozniacki6–3, 6–3
    22Win2015Australian OpenHardMaria Sharapova6–3, 7–6(7–5)
    23Win2015French OpenClayLucie Šafářová6–3, 6–7(2–7), 6–2
    24Win2015WimbledonGrassGarbiñe Muguruza6–4, 6–4
    25Loss2016Australian OpenHardAngelique Kerber4–6, 6–3, 4–6
    26Loss2016French OpenClayGarbiñe Muguruza5–7, 4–6
    27Win2016WimbledonGrassAngelique Kerber7–5, 6–3
    28Win2017Australian OpenHardVenus Williams6–4, 6–4
    29Loss2018WimbledonGrassAngelique Kerber3–6, 3–6
    30Loss2018US OpenHardNaomi Osaka2–6, 4–6
    31Loss2019WimbledonGrassSimona Halep2–6, 2–6
    32Loss2019US OpenHardBianca Andreescu3–6, 5–7
    \n", "
    " ], "text/plain": [ " Result Year Tournament Surface Opponents \\\n", "0 Win 1999 US Open Hard Martina Hingis \n", "1 Loss 2001 US Open Hard Venus Williams \n", "2 Win 2002 French Open Clay Venus Williams \n", "3 Win 2002 Wimbledon Grass Venus Williams \n", "4 Win 2002 US Open Hard Venus Williams \n", "5 Win 2003 Australian Open Hard Venus Williams \n", "6 Win 2003 Wimbledon Grass Venus Williams \n", "7 Loss 2004 Wimbledon Grass Maria Sharapova \n", "8 Win 2005 Australian Open Hard Lindsay Davenport \n", "9 Win 2007 Australian Open Hard Maria Sharapova \n", "10 Loss 2008 Wimbledon Grass Venus Williams \n", "11 Win 2008 US Open Hard Jelena Janković \n", "12 Win 2009 Australian Open Hard Dinara Safina \n", "13 Win 2009 Wimbledon Grass Venus Williams \n", "14 Win 2010 Australian Open Hard Justine Henin \n", "15 Win 2010 Wimbledon Grass Vera Zvonareva \n", "16 Loss 2011 US Open Hard Samantha Stosur \n", "17 Win 2012 Wimbledon Grass Agnieszka Radwańska \n", "18 Win 2012 US Open Hard Victoria Azarenka \n", "19 Win 2013 French Open Clay Maria Sharapova \n", "20 Win 2013 US Open Hard Victoria Azarenka \n", "21 Win 2014 US Open Hard Caroline Wozniacki \n", "22 Win 2015 Australian Open Hard Maria Sharapova \n", "23 Win 2015 French Open Clay Lucie Šafářová \n", "24 Win 2015 Wimbledon Grass Garbiñe Muguruza \n", "25 Loss 2016 Australian Open Hard Angelique Kerber \n", "26 Loss 2016 French Open Clay Garbiñe Muguruza \n", "27 Win 2016 Wimbledon Grass Angelique Kerber \n", "28 Win 2017 Australian Open Hard Venus Williams \n", "29 Loss 2018 Wimbledon Grass Angelique Kerber \n", "30 Loss 2018 US Open Hard Naomi Osaka \n", "31 Loss 2019 Wimbledon Grass Simona Halep \n", "32 Loss 2019 US Open Hard Bianca Andreescu \n", "\n", " Score \n", "0 6–3, 7–6(7–4) \n", "1 2–6, 4–6 \n", "2 7–5, 6–3 \n", "3 7–6(7–4), 6–3 \n", "4 6–4, 6–3 \n", "5 7–6(7–4), 3–6, 6–4 \n", "6 4–6, 6–4, 6–2 \n", "7 1–6, 4–6 \n", "8 2–6, 6–3, 6–0 \n", "9 6–1, 6–2 \n", "10 5–7, 4–6 \n", "11 6–4, 7–5 \n", "12 6–0, 6–3 \n", "13 7–6(7–3), 6–2 \n", "14 6–4, 3–6, 6–2 \n", "15 6–3, 6–2 \n", "16 2–6, 3–6 \n", "17 6–1, 5–7, 6–2 \n", "18 6–2, 2–6, 7–5 \n", "19 6–4, 6–4 \n", "20 7–5, 6–7(6–8), 6–1 \n", "21 6–3, 6–3 \n", "22 6–3, 7–6(7–5) \n", "23 6–3, 6–7(2–7), 6–2 \n", "24 6–4, 6–4 \n", "25 4–6, 6–3, 4–6 \n", "26 5–7, 4–6 \n", "27 7–5, 6–3 \n", "28 6–4, 6–4 \n", "29 3–6, 3–6 \n", "30 2–6, 4–6 \n", "31 2–6, 2–6 \n", "32 3–6, 5–7 " ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "headings = [th.get_text(strip=True) for th in singles_table.find_all(\"th\")]\n", "df = pd.DataFrame(data, columns=headings)\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With pandas, we can filter this data, group it, and plot interesting relationships.\n", "\n", "Pandas `groupby` is an interesting operation for performing aggregations,\n", "e.g. counting the wins/losses by year and result:" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Result\n", "Win 23\n", "Loss 10\n", "Name: count, dtype: int64" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.Result.value_counts()" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    ResultLossWin
    Year
    19990.01.0
    20011.00.0
    20020.03.0
    20030.02.0
    20041.00.0
    20050.01.0
    20070.01.0
    20081.01.0
    20090.02.0
    20100.02.0
    20111.00.0
    20120.02.0
    20130.02.0
    20140.01.0
    20150.03.0
    20162.01.0
    20170.01.0
    20182.00.0
    20192.00.0
    \n", "
    " ], "text/plain": [ "Result Loss Win\n", "Year \n", "1999 0.0 1.0\n", "2001 1.0 0.0\n", "2002 0.0 3.0\n", "2003 0.0 2.0\n", "2004 1.0 0.0\n", "2005 0.0 1.0\n", "2007 0.0 1.0\n", "2008 1.0 1.0\n", "2009 0.0 2.0\n", "2010 0.0 2.0\n", "2011 1.0 0.0\n", "2012 0.0 2.0\n", "2013 0.0 2.0\n", "2014 0.0 1.0\n", "2015 0.0 3.0\n", "2016 2.0 1.0\n", "2017 0.0 1.0\n", "2018 2.0 0.0\n", "2019 2.0 0.0" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results_by_year = df.groupby([\"Year\", \"Result\"]).Tournament.count().unstack().fillna(0)\n", "results_by_year" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Which we can now plot" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABnUAAARgCAYAAAA/5dPEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAB7CAAAewgFu0HU+AACTnUlEQVR4nOzde5SXZaH3/88wOIAwCAooKB625EYMzRLUzBCTFPOEJp4NlTa27Xmyn+5M27ppP3nqYLnzsYcCw1JTK3R7qk2oIRqKZ9kpKikiigqKAgoMh/n94eK7Ic7DDMOlr9darO753tf3uq7vNC5l3uu+76r6+vr6AAAAAAAAsFlr0dwbAAAAAAAAYN1EHQAAAAAAgAKIOgAAAAAAAAUQdQAAAAAAAAog6gAAAAAAABRA1AEAAAAAACiAqAMAAAAAAFAAUQcAAAAAAKAAog4AAAAAAEABRB0AAAAAAIACiDoAAAAAAAAFEHUAAAAAAAAKIOoAAAAAAAAUQNQBAAAAAAAogKgDAAAAAABQAFEHAAAAAACgAC2bewMfFQsXLszkyZOTJJ07d07Llr61AAAAAADwcbVkyZLMmjUrSdK7d++0bt16o+dUHhrJ5MmT07dv3+beBgAAAAAAsJmZNGlS+vTps9HzuP0aAAAAAABAAVyp00g6d+5cOZ4wYUK6du3ajLsBAAAAAACa08yZM3PggQcmWbkhbAxRp5Gs+Aydrl27ZocddmjG3QAAAAAAAJuLFRvCxnD7NQAAAAAAgAKIOgAAAAAAAAUQdQAAAAAAAAog6gAAAAAAABRA1AEAAAAAACiAqAMAAAAAAFAAUQcAAAAAAKAAog4AAAAAAEABRB0AAAAAAIACiDoAAAAAAAAFaNncGwAAAAAAgPW1aNGizJ07NwsXLszSpUubezt8RLVo0SI1NTVp27Zt2rZtmxYtNo9rZEQdAAAAAAA2e/X19Xnrrbcyb9685t4KHxN1dXWZP39+WrRokW233TZt27Zt7i2JOgAAAAAAbP7mzJlTCTr19fWpqqpKixYtUlVV1cw746Omvr4+y5YtS319fZJk2bJleeONN7Lddts1e9gRdQAAAAAA2KzV1dXlnXfeqXzdsWPH1NbWbja3xOKjp76+PgsXLsy8efPywQcfJEnefPPN7Lzzzs36c+cnHgAAAACAzdqCBQuSfPiL9vbt22errbYSdGhSVVVVadOmTTp37pwtt9yycvXO+++/36z78lMPAAAAAMBmbfmVEkma/fZXfLxUVVWltra28rWoAwAAAAAAa7F48eIkSYsWLbLFFls08274uGndunXl2U11dXXNuhdRBwAAAACAzdqyZcuSfHjVxPJfrsOmUlVVVbnd3/KfxeYi6gAAAAAAUARBh+ayufzsiToAAAAAAAAFEHUAAAAAAAAKIOoAAAAAAAAUQNQBAAAAAAAogKgDAAAAAAA0mtra2tTW1uayyy5r7q185LRs7g0AAAAAAEDpJkyYkMMPP3y151q3bp2tt946e+yxRwYOHJiTTjop7dq128Q75KPAlToAAAAAANCEFi5cmNdffz1/+tOf8v/9f/9f9t1330yePLm5t9UsJkyYULmSZ8KECc29neK4UgcAAAAAABrR0KFD89WvfrXy9dtvv50XX3wxP/3pTzN16tRMnz49xx57bJ544onU1tY2404pjSt1AAAAAACgEXXu3Dm9evWq/DnwwANz5pln5pFHHkm/fv2SJG+88UZ++ctfNvNOKY2oAwAAAAAAm0BNTU0uvPDCytf3339/M+6GEok6AAAAAACwiXzqU5+qHM+YMWON41544YX8y7/8S/r06ZPtt98+nTt3Tu/evXP22WfnqaeeWusaCxcuzM9+9rMMHDgwO+20Uzp27Jgdd9wxn/70p3PcccflmmuuySuvvLLK+/bYY4/U1tZm2LBha51/2LBhqa2tzR577LHWcSt65ZVXUltbm8MPP7zy2uGHH155vs7yPzfccMN6z/lx5Jk6AAAAAACwiVRXV1eOW7Zc/a/or7zyylxxxRVZsmTJSq9PmzYt06ZNy0033ZQLLrgg3/nOd1Z57xtvvJEjjzwyU6ZMWen1OXPmZM6cOXnxxRczduzYvP7667nssssa4ROxKYk6AAAAAACwiawYW3bcccdVzn/ve9/LlVdemSTZd999c9ppp2X33XfPFltskRdffDEjRozIpEmTcsUVV2SbbbbJ2WefvdL7zz///MoaJ554Yo488sh07do11dXVeeutt/LUU0/lrrvuasJPuHrdunXLI488kscffzz//M//nCS59tpr85nPfGaVcayZqAMAAAAAAJvIf/zHf1SOjznmmJXOPf744/nBD36QJPnWt76Viy++eKXze++9d7785S9n2LBhufnmm/Pv//7vOfHEE9OhQ4ckH9527Z577kmS/K//9b9WeyXOYYcdlm9/+9t55513GvFTrdsWW2yRXr165e233668tvPOO6dXr16bdB+la7Jn6sydOzc333xzzjvvvPTr1y89evTIVlttlZqamnTp0iUHHXRQvv/976/0f+DGuvnmm3PooYema9euad26dXbeeeecdtppefjhhxttDQAAAAAA2BBvv/12/vKXv+S4447Lb3/72yRJ37598+Uvf3mlcT/+8Y+zbNmy7L333vnXf/3X1c7VokWL/OAHP0irVq0yb9683H777ZVzc+bMyeLFi5MkBxxwwFr3tPXWW2/EJ6K5NFnUmTRpUk466aRcddVVeeCBB/K3v/0tc+fOzeLFizNr1qyMHz8+F1xwQXr27Jn/+q//2qi1Fi5cmCOPPDInnXRSxo4dmzfeeCOLFi3KK6+8khtuuCEHHHBA/s//+T+N9MkAAAAAAGDNLr/88tTW1lb+7Lzzzjn00EMzduzYtGzZMieeeGJuu+22bLHFFpX3LF68OH/605+SJEcffXSqqqrWOH+HDh2yxx57JPnwd/HLbb311qmpqUny4UUQf/9MHsrXZFEnSbp3757TTz89V199dcaMGZOJEyfmoYceyi233JLjjz8+1dXVmT17do466qg888wzDV7nrLPOqtwDsH///rn99tszadKkjBo1KrvuumuWLVuWSy65JCNHjmysjwYAAAAAABusR48eOffcc9O+ffuVXp8yZUo++OCDJMnw4cNXikKr+/PEE08kSd58883KHK1atcpxxx2XJLn99tuz11575V//9V/zX//1X3nvvfc20SekKTXZM3X69++f6dOnr/H84MGDc/vtt2fQoEGpq6vLd7/73fz+97/f4HXGjx+fm266KUly5JFH5rbbbkt1dXWSpE+fPjnqqKPymc98JtOnT8+3vvWtfPnLX67cXxAAAAAAABrb0KFD89WvfjVJsmTJksycOTP33HNPfv3rX2fKlCkZOHBgxo0bl912263ynlmzZjVorQULFqz09Q9/+MO8++67+cMf/pDp06fn6quvztVXX53q6up86lOfyqBBg3LGGWesEpUoQ5NFneVhZW2OOeaY9OzZM1OmTMkDDzzQoHW+//3vV9a79tprV1m3U6dOufLKK3PSSSdlzpw5GTVqVM4777wGrQUAAAAAAOvSuXPn9OrVq/L1nnvumUMPPTQDBw7MCSeckDlz5uSss87Kn//858rvtJcuXVoZ/73vfS8DBgxYr7W23HLLlb5u3759br311jz22GMZM2ZMJkyYkMmTJ2fp0qV5/PHH8/jjj+fqq6/Ob37zm+y7776N8GnZlJos6qyvtm3bJvnwuTgbav78+bn33nuTJAMGDMgOO+yw2nHHHnts2rdvn7lz52bMmDGiDgAAAAAAm9xhhx2Ws846K7/4xS/y1FNP5YYbbshXvvKVJB8+D2e5xYsXrxSFGmKfffbJPvvskySZN29eJkyYkBtuuCF33nlnZs2alVNPPTXPPPNM2rRpU3lPixYfPrGlvr5+rXMvv00cm16TPlNnXZ577rk89dRTSZKePXtu8PsnTZqURYsWJUn69eu3xnE1NTXZb7/9Ku9ZvHjxhm8WAAAAAAA20oUXXli52OGKK65IXV1dkmT33XdPTU1NkuS+++5r1DVra2tz+OGH56abbsrXvva1JMkbb7yRiRMnrjSuXbt2SZI5c+asdb4XX3yxwXupqqpq8HtphqjzwQcf5MUXX8xVV12V/v37Vy4p+8Y3vrHBcz333HOV43VFoeXnlyxZ0qAfuBkzZqz1z8yZMzd4TgAAAAAAPl46d+6cM844I8mHv3e+8cYbk3x4G7WDDjooSTJhwoQ89thjTbL+ihdIvP322yud22mnnZIkTz/99Bqv1nn22Wfz17/+tcHrt2rVqnK8/KIN1t8miTqjR49OVVVVqqqq0rZt2+y2224577zz8uabbyZJzj///JxyyikbPO+rr75aOV7TrdeW6969+2rft766d+++1j99+/bd4DkBAAAAAPj4Offcc9O6deskyY9//OPKxQ/nn39+5UqWM844Iy+99NIa51i6dGluvfXWvPbaa5XXXn755Tz44INrXXvFq4CWR5zlPve5zyVJZs6cmd/+9rervHfevHn553/+57XOvy7bbbdd5fjll1/eqLk+jpr1mTqf+tSn8v/+3/9r8MOY5s2bVzleflnYmiy/nC358Fk8QPNrdXmXRp1v0YVvNep8AAAAsDlp7L9HJ/4uDc1l2223zemnn56f//znefnll3PrrbfmpJNOyv77759vf/vbufzyyzNt2rQccMABOf3003PwwQdnu+22y6JFizJ9+vRMmjQpt99+e2bOnJlHHnkk22+/fZIPr/w5/PDD07Nnzxx55JHZe++9061bt8q5MWPGZMyYMUmSvfbaK3369FlpXyeccEIuv/zyzJ07N+ecc05eeumlfOELX0hVVVWefPLJXHPNNXn99dez11575emnn27QZ+/evXu23377vPbaa/mP//iPdO3aNZ/4xCfSsuWHuaJLly6pra1t6Lf2I2+TRJ1jjjmm8kCmBQsW5G9/+1tuvfXW3HbbbTnllFPyk5/8JEccccQGz7tw4cLK8fJ7Da7Jipd0LViwYIPXWtfVPTNnznS1DgAAAAAA6+Wb3/xmRo8enbq6uvzwhz/MCSeckBYtWuSiiy7KVlttlX/7t3/L/Pnzc+211+baa69d7Rw1NTUr/e57uSlTpmTKlClrXPsf//Efc+ONN67yfJvOnTvnmmuuyRlnnJGFCxfm0ksvzaWXXlo537p16/z85z/PH//4xwZHneTDK5K++c1vZtq0aTnppJNWOvezn/0sp556aoPn/qjbJFGnQ4cO6dChQ+XrPn365MQTT8yvf/3rfOUrX8nRRx+dUaNGZciQIRs07/LL05JUHia1Jivem69NmzYbtE6y7tu7AQAAAADA+tphhx1y8sknZ/To0XnhhRfyn//5nxk0aFCS5JxzzsmgQYNy3XXX5b777stLL72U9957L61atUrXrl2zxx575OCDD85RRx2VTp06Veb87Gc/m3vvvTf3339/JkyYkBkzZuStt97KwoUL07Fjx/Tu3TtHHXVUTj311DVeKDFo0KB07949V111VSZOnJi5c+emS5cu+fznP59zzz03u+++e/74xz9u1GcfOnRoOnfunF/+8pd55plnMmfOnCxZsmSj5vy4qKpf09OONpETTjght956a9q2bZtXX301HTt2XO/3fvvb386VV16ZJHn00UcrVwOtzg9/+MP8y7/8S5Lkj3/8Yw499NCN2/jfmTFjRuW5PVOnThWBYD24/RoAAACsP7df4+Ns2rRpWbJkSaqrq/3ulWYxY8aMLF26NC1btszOO++83u/p0aNHkg/vBtYYP7stNnqGjXT00UcnSd5///384Q9/2KD3rvgNmDFjxlrHrnj7tOXxBQAAAAAAoBTNHnU6d+5cOX7llVc26L29evWqHK/t/oArnm/ZsmWljAEAAAAAAJSi2aPOa6+9Vjlu167dBr23T58+lfv+jR8/fo3j6urq8vDDD6/yHgAAAAAAgFI0e9T57W9/Wznu3bv3Br23trY2X/jCF5Ik48aNW+Mt2MaMGZO5c+cmSeVBUwAAAAAAACVpsqgzevToLFy4cK1jfvzjH+eee+5Jkuy888753Oc+t8ocVVVVqaqqyvDhw1c7x/nnn58kWbJkSc4555wsXbp0pfOzZ8/OBRdckCTp0KFDhg4d2pCPAwAAAAAA0KxaNtXEw4cPz3nnnZfjjjsun/vc57LrrrumXbt2mTdvXiZPnpwbb7wxDz30UJKkpqYmv/jFL9Ky5YZv5+CDD86JJ56Ym2++OXfccUcGDBiQc889N926dcvkyZNz6aWXZvr06UmSK664Ih07dmzUzwkAAAAAALApNFnUSZJ33nknv/jFL/KLX/xijWN22GGHXHfddTnkkEMavM51112XuXPn5p577sn999+f+++/f6XzLVq0yMUXX5xhw4Y1eA0AAAAAAIDm1GRR59577824ceNy//3357nnnsubb76Zt99+O61bt862226bT33qUzniiCMyePDgbLnllhu1Vps2bXL33XfnpptuyujRo/P000/n3XffzbbbbpsDDzwwX//617P//vs30icDAAAAAADY9Jos6uy6667ZddddN+rqmCFDhmTIkCHrPf7kk0/OySef3OD1AAAAAAAANlctmnsDAAAAAAAArJuoAwAAAAAAUABRBwAAAAAAoACiDgAAAAAAQAFEHQAAAAAAgAKIOgAAAAAAAAUQdQAAAAAAAAog6gAAAAAAABRA1AEAAAAAACiAqAMAAAAAAFAAUQcAAAAAAKAAog4AAAAAAFAxYcKE1NbWpra2Npdddllzb4cVtGzuDQAAAAAAQGP65PfGN/cWmsx//2u/5t4CzciVOgAAAAAAAAUQdQAAAAAAAAog6gAAAAAAABTAM3UAAAAAAIBGU1dXl+uvvz633XZbnn322cydOzcdO3bMpz71qRx//PEZPHhwWrRY8zUnL774YkaMGJEHHngg06dPT11dXbbZZpt07tw5e+21Vw455JAcccQRadWq1UrvW7p0aX7zm9/kd7/7XSZPnpw5c+Zkyy23TKdOnbLDDjukX79+OfLII9OzZ8+m/hY0GVEHAAAAAABoFNOnT8+xxx6b559/fqXX33rrrYwdOzZjx47Nddddl5tvvjlbb731Ku+/7bbbMnTo0NTV1a30+htvvJE33ngjkydPzg033JBHHnkkvXr1qpyfP39+jjvuuPzlL39Z6X3vvfde3nvvvfztb3/L+PHj8/TTT+eGG25oxE+8aYk6AAAAAADARps/f36OOOKIvPzyy0mSI444Iqeddlq6du2aV155JSNGjMiDDz6YiRMn5vjjj8/YsWNTXV1def9bb72Vr33ta6mrq0vnzp0zbNiw9OnTJ9tss00WLlyYadOm5aGHHsodd9yxytqXXXZZJegcdthhOeGEE7LDDjukdevWmT17diZPnpw//vGPqaqq2jTfjCYi6gAAAAAAABvt8ssvrwSdb33rW7n44osr5/bee+8cffTR+epXv5pbbrklkyZNyi9/+csMHTq0MuaPf/xj3n///STJXXfdtdKVOEmy77775oQTTsj3v//91NfXr3TutttuS5Icc8wx+fWvf73K3g455JB885vfzDvvvNM4H7aZrPmmdQAAAAAAAOth0aJF+dWvfpUk6dmzZy666KJVxlRVVeWqq66q3HZtxIgRK51/8803kyQdO3ZcJeisqHXr1mnTps1q3/vZz352rftc3S3fSiLqAAAAAAAAG+XJJ5/Mu+++myQ55ZRTVrqt2orat2+fY489NkkyZcqUvPHGG5Vz2223XZJkzpw5ueuuuzZo/eXv/f3vf58PPvhgQ7dfDFEHAAAAAADYKM8++2zleJ999lnr2BXPr/i+ww8/PB06dEiSnHzyyfnSl76Ua665Jk8++WSWLl261jlPPvnkJMkjjzyST37ykznvvPNyxx13ZNasWRv6UTZrog4AAAAAALBR5syZUznu0qXLWsduu+22q33fNttsk5tvvjndunVLfX19HnjggVx44YX5/Oc/nx133DGnnHJK/vCHP6x2zgsuuCCnnXZaqqqqMmvWrPz85z/PKaeckl133TX77rtvLr300rz11lsb+Smbn6gDAAAAAAA0mqqqqrWer6+vX+O5Aw44IE8//XRGjhyZwYMHZ/vtt0+SzJ07N3fccUcGDx6cQYMGrXKLtS222CLXXnttJk2alG9961vZd999U1NTk/r6+jz77LO54oorstdee23wbd02N6IOAAAAAACwUTp27Fg5fvPNN9c6dsUrZlZ833KtW7fOCSeckFGjRmXKlCl55pln8oMf/CA9evRIkowbNy7//u//vtq5e/bsmYsvvjjjxo3LjBkzcscdd+TUU09NdXV15s+fnzPPPHOl5/iURtQBAAAAAAA2Sq9evSrHjz322FrHPv7446t935rssssuOfvsszN+/PjKlTtjxoxZ5/vatGmT/v3752c/+1m+973vJUkWLFiwxlu4lUDUAQAAAAAANsree++dDh06JEluuummLF26dLXj5s2bVwkyPXv2zHbbbbfea7Rv3z6f/vSnkyRvv/32Bu3voIMOqhxv6Hs3J6IOAAAAAACwUVq1apXTTz89SfLcc8/l8ssvX2VMfX19zjvvvEpUGTZs2Ernx40bt9Zbo7333nuVq3x22mmnyuvvvPNO7r777rU+q+fee++tHO+8887r/kCbqZbNvQEAAAAAAGDz9Mwzz+SGG25Y57j9998/3/72t3PnnXfm5ZdfzpVXXplnn302p512Wrp27ZpXXnklI0aMyIQJE5Ikffv2zRlnnLHSHL/97W8zePDg9O/fP1/4whfSq1evdOzYMfPmzctzzz2XESNG5PXXX0+SDB06tPK+efPm5cQTT8xOO+2UI488Mn369En37t3TsmXLvPHGG/nDH/6Q66+/Pkmy/fbbZ+DAgY317dnkRB0AAAAAAGC17r777tx9993rHPezn/0sp556au68884ce+yxeeGFF3LnnXfmzjvvXGXsfvvtl1tuuSXV1dWrnFu8eHHGjh2bsWPHrnGtf/qnf8rZZ5+9yuuvvPJKrrnmmjW+r1u3brnlllvStm3bdX6ezZWoAwAAAADAR8p//2u/5t7Cx9ZOO+2UiRMnZvTo0bntttvy7LPPZt68eenYsWP22muvDB48OIMHD06LFqs+HebKK6/M4Ycfnvvvvz9PPvlk3njjjcyePTvV1dXZfvvts+++++YrX/lK9t9//5Xet+OOO+Yvf/lL7rvvvjzwwAN5+eWXM2vWrMyfPz9bbbVVdt999wwcODBnnHFGamtrN9W3oklU1a/tJnOstxkzZqR79+5JkqlTp2aHHXZo5h3B5q/V5V0adb5FF77VqPMBAADA5qSx/x6d+Ls05Zg2bVqWLFmS6upqv3ulWcyYMSNLly5Ny5Yt1/uZPDNmzEiPHj2SJK+++mqj/OyumsIAAAAAAADY7Ig6AAAAAAAABRB1AAAAAAAACiDqAAAAAAAAFEDUAQAAAAAAKICoAwAAAAAAUABRBwAAAAAAoACiDgAAAAAAQAFEHQAAAAAAgAKIOgAAAAAAAAUQdQAAAAAAAAog6gAAAAAAABRA1AEAAAAAACiAqAMAAAAAAFAAUQcAAAAAAKAAog4AAAAAAEABRB0AAAAAAIACiDoAAAAAAAAFEHUAAAAAAAAKIOoAAAAAAADN4rLLLkttbW1qa2ubeytFEHUAAAAAAIAkydKlS9OtW7fU1tbmc5/73FrH1tfXZ8cdd6xEmV/96ldrHf/73/++Mvb//t//25jb/tho2dwbAAAAAACAxtTuh9s39xaazPzzX2vS+aurq7Pvvvtm3LhxmTx5ct57771stdVWqx373HPPZc6cOZWvH3rooZx++ulrnPsvf/lL5fiAAw5ovE1/jLhSBwAAAAAAqPjsZz+bJFm2bFkeeeSRNY5bHmmqq6uTJBMnTlzrvMvHt2/fPr17906SXHTRRZk3b17mzZu30fv+OBB1AAAAAACAihWvonnooYfWOG55pBk0aFCS5OWXX87rr7++2rHvvvtunn322STJfvvtVwlBbBhRBwAAAAAAqNhnn33SunXrJCvfMu3vLT935JFH5hOf+MRax0+cODHLli1L8j9XArHhRB0AAAAAAKCipqYm++yzT5LkiSeeyMKFC1cZ88orr+S11z58vs/++++f/fffP8mar+xZ0/N0LrvsstTW1qa2tna179tjjz1SW1ubYcOGJUmef/75fP3rX88ee+yRbbbZJv/wD/+Qk046KZMmTWrAJy2PqAMAAAAAAKxkeXipq6vLY489tsr55ZFml112SdeuXStRZ01X6iyPPW3atMmnP/3pBu3pP//zP/P5z38+119/faZPn566urrMmjUrd911V774xS/m97//fYPmLYmoAwAAAAAArGRdz9VZHm/222+/JKlEneeeey7vvPPOSmMXLFiQp556KknSp0+f1NTUbPB+/vrXv2bo0KHp0qVLfvSjH+W+++7Lvffem4suuiitW7fO0qVL87//9//OrFmzNnjukog6AAAAAADASvr27Zstttgiyeqvvln+2vLn4+y6667ZdtttU19fn4kTJ6409tFHH83ixYuTrByLNsTTTz+d3XffPQ8++GD+6Z/+KX369Enfvn1z4YUX5pprrkmSzJ07N7fcckuD5i+FqAMAAAAAAKykbdu22WuvvZIkkyZNypIlSyrnZs2alRdeeCHJ/0Sd5H+u2vn7K3vW9DydDXXttddmq622WuX1wYMHp2vX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OXPmNMr8AAAAAAAAzaFlcy28bNmyXHHFFZWvBw8e3Cjzjhs3rnI8a9asjB8/PuPHj8+VV16Z0aNH5+ijj27QvDNmzFjr+ZkzZzZoXgAAAAAAgPXRbFHnxz/+cSZNmpQkGTRoUPbZZ5+Nmq9379455phj0rdv33Tr1i2LFy/O888/nxtvvDFjx47Nu+++m+OOOy533nlnBg4cuMHzd+/efaP2BwAAAAAAsDGq6uvr6zf1ouPHj88hhxySJUuWpEuXLnnmmWey7bbbNni+d999Nx06dFjj+REjRuTss89OknTr1i1Tp05NmzZtNmiNqqqq9R47derU7LDDDhs0P3wctbq8S6POt+jCtxp1PgAAANicNPbfoxN/lwZoSjNmzEiPHj2SJK+++mqjdINNfqXOX//61wwaNChLlixJq1atcuutt25U0Emy1qCTJMOGDctjjz2WkSNH5vXXX8+YMWNyyimnbNAar7766lrPz5w5M3379t2gOQEAAAAAANbXJo06L7/8cr74xS9mzpw5qa6uzm9+85v069dvk6w9bNiwjBw5MsmHVwptaNRx5Q0AAAAAANCcWmyqhV5//fUccsghef3111NVVZXrrrsugwYN2lTLp1evXpXj1157bZOtCwAAAAAA0Bg2SdSZPXt2BgwYkJdeeilJ8tOf/jSnn376pli6ohkeHQQAAAAAANBomjzqvPfeezn00EPz7LPPJkmuuOKKnHPOOU297CqWr58k3bp12+TrAwAAAAAAbIwmjToffPBBvvSlL+WJJ55IknznO9/JBRdc0JRLrtGIESMqx5vqOT4AAAAAAACNpcmiTl1dXQYNGpSHHnooSfKNb3wj3/ve9zZ4ntGjR6eqqipVVVUZPnz4KucnT56cqVOnrnWOESNGZNSoUUmS7bbbbpM+ywcAAAAAAKAxtGyqiU866aSMHTs2SXLwwQfnrLPOyn//93+vcXxNTU122223DV7n8ccfz9ChQ9O/f/8MHDgwvXv3zjbbbJMlS5ZkypQpueGGG/KnP/0pSVJdXZ0RI0akbdu2DftQAAAAAAAAzaTJos6YMWMqx/fdd1/23HPPtY7faaedMm3atAattXTp0owbNy7jxo1b45htttkmo0aNylFHHdWgNQAAAAAAAJpTk0WdTeXwww/PqFGjMnHixDz55JN588038/bbb6e+vj5bb7119tpr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ulHrjhs3rnI8a9asjB8/PuPHj8+VV16Z0aNH5+ijj27QvN27d9+ofQEAAAAAAGyMJos68+bNqxy3a9duneOXR5358+c3aL3evXvnmGOOSd++fdOtW7csXrw4zz//fG688caMHTs27777bo477rjceeedGThwYIPWAAAAAAAAaC5NeqXOcjU1Nesc36pVqyTJggULNnitc889N8OHD1/l9X333Tenn356RowYkbPPPjtLly7N0KFDM3Xq1LRp02aD1ljXFUQzZ85M3759N2hOAAAAAACA9dVkUad169aV47q6unWOX7RoUZJscGxJkg4dOqz1/LBhw/LYY49l5MiRef311zNmzJiccsopG7TGum4hBwAAAAAA0JRaNNXEtbW1leP1uaXa+++/n2T9btXWEMOGDascjx8/vknWAAAAAAAAaCpNFnVat26dTp06JUlmzJix1rFz5sypRJ3u3bs3yX569epVOX7ttdeaZA0AAAAAAICm0mRRJ0l23333JMnUqVOzZMmSNY6bMmXKKu9pbPX19U0yLwAAAAAAwKbQpFHnc5/7XJIPb632+OOPr3HcirdDO+CAA5pkL88++2zluFu3bk2yBgAAAAAAQFNp0qhzzDHHVI5/+ctfrnbMsmXL8qtf/SpJ0qFDh/Tv379J9jJixIjKcb9+/ZpkDQAAAAAAgKbSpFGnb9++OfDAA5Mko0aNysSJE1cZ86Mf/SjPPfdckuQb3/hGtthii5XOjx49OlVVVamqqsrw4cNXef/kyZMzderUte5jxIgRGTVqVJJku+22y6BBgxrycQAAAAAAAJpNy6Ze4Oqrr84BBxyQBQsW5Itf/GIuuuii9O/fPwsWLMjNN9+cn//850mS3XbbLeedd94Gz//4449n6NCh6d+/fwYOHJjevXtnm222yZIlSzJlypTccMMN+dOf/pQkqa6uzogRI9K2bdtG/YwAAAAAAABNrcmjzt57751bbrklp556aubOnZuLLrpolTG77bZb7r777tTW1jZojaVLl2bcuHEZN27cGsdss802GTVqVI466qgGrQEAAAAAANCcmjzqJMmRRx6ZZ555JldffXXuvvvuzJgxIzU1NenRo0eOP/74fP3rX8+WW27ZoLkPP/zwyq3dnnzyybz55pt5++23U19fn6233jp77bVXDjvssAwZMiTt27dv5E8GAAAAAACwaWySqJMkO+20U6666qpcddVVG/S+IUOGZMiQIWs836VLl5x55pk588wzN3KHAAAAAAAAm68Wzb0BAAAAAAAA1k3UAQAAAAAAKICoAwAAAAAAUABRBwAAAAAAoACiDgAAAAAAQAFEHQAAAAAAgAKIOgAAAAAAAAUQdQAAAAAAAAog6gAAAAAAABRA1IH/v737Do+qzPs//jknhYQkSlckWVooAUQBaSoLCIqK6GLBZ8WGFQsIK6KuLrAWVkWUxcdFVBRBXV0URUQQdekiAbEiQUCqqFSBkEBIuH9/+Ms8xBTKfSczJ3m/rivXFXPOnLnn7SScyTczAwAAAAAAAABAADDUAQAAAAAAAAAACACGOgAAAAAAAAAAAAHAUAcAAAAAAAAAACAAGOoAAAAAAAAAAAAEAEMdAAAAAAAAAACAAGCoAwAAAAAAAAAAEAAMdQAAAAAAAAAAAAKAoQ4AAAAAAAAAAEAAMNQBAAAAAAAAAAAIAIY6AAAAAAAAAAAAAcBQBwAAAAAAAAAAIAAY6gAAAAAAAAAAAAQAQx0AAAAAAAAAAIAAYKgDAAAAAAAAAAAQAAx1AAAAAAAAAAAAAoChDgAAAAAAAAAAQAAw1AEAAAAAAAAAAAgAhjoAAAAAAAAAAAABwFAHAAAAAAAAAAAgABjqAAAAAAAAAAAABABDHQAAAAAAAAAAgABgqAMAAAAAAAAAABAADHUAAAAAAAAAAAACgKEOAAAAAAAAAABAADDUAQAAAAAAAAAACACGOgAAAAAAAAAAAAHAUAcAAAAAAAAAACAAGOoAAAAAAAAAAAAEAEMdAAAAAAAAAACAAGCoAwAAAAAAAAAAEAAMdQAAAAAAAAAAAAKAoQ4AAAAAAAAAAEAAMNQBAAAAAAAAAAAIAIY6AAAAAAAAAAAAAcBQBwAAAAAAAAAAIAAY6gAAAAAAAAAAAAQAQx0AAAAAAAAAAIAAYKgDAAAAAAAAAAAQAAx1AAAAAAAAAAAAAoChDgAAAAAAAAAAQAAw1AEAAAAAAAAAAAgAhjoAAAAAAAAAAAABwFAHAAAAAAAAAAAgABjqAAAAAAAAAAAABABDHQAAAAAAAAAAgABgqAMAAAAAAAAAABAADHUAAAAAAAAAAAACgKEOAAAAAAAAAABAADDUAQAAAAAAAAAACACGOgAAAAAAAAAAAAHAUAcAAAAAAAAAACAAGOoAAAAAAAAAAAAEAEMdAAAAAAAAAACAAGCoAwAAAAAAAAAAEAAMdQAAAAAAAAAAAAKAoQ4AAAAAAAAAAEAAMNQBAAAAAAAAAAAIAIY6AAAAAAAAAAAAAcBQBwAAAAAAAAAAIAAY6gAAAAAAAAAAAAQAQx0AAAAAAAAAAIAAYKgDAAAAAAAAAAAQAAx1AAAAAAAAAAAAAoChDgAAAAAAAAAAQAAw1AEAAAAAAAAAAAgAhjoAAAAAAAAAAAABwFAHAAAAAAAAAAAgABjqAAAAAAAAAAAABABDHQAAAAAAAAAAgABgqAMAAAAAAAAAABAADHUAAAAAAAAAAAACgKEOAAAAAAAAAABAADDUAQAAAAAAAAAACACGOgAAAAAAAAAAAAHAUAcAAAAAAAAAACAAGOoAAAAAAAAAAAAEAEMdAAAAAAAAAACAAGCoAwAAAAAAAAAAEAAMdQAAAAAAAAAAAAKAoQ4AAAAAAAAAAEAAMNQBAAAAAAAAAAAIAIY6AAAAAAAAAAAAAcBQBwAAAAAAAAAAIAAY6gAAAAAAAAAAAAQAQx0AAAAAAAAAAIAAYKgDAAAAAAAAAAAQAAx1AAAAAAAAAAAAAoChDgAAAAAAAAAAQAAw1AEAAAAAAAAAAAgAhjoAAAAAAAAAAAABwFAHAAAAAAAAAAAgABjqAAAAAAAAAAAABABDHQAAAAAAAAAAgABgqAMAAAAAAAAAABAADHUAAAAAAAAAAAACgKEOAAAAAAAAAABAADDUAQAAAAAAAAAACACGOgAAAAAAAAAAAAHAUAcAAAAAAAAAACAAGOoAAAAAAAAAAAAEAEMdAAAAAAAAAACAAGCoAwAAAAAAAAAAEAAMdQAAAAAAAAAAAAKAoQ4AAAAAAAAAAEAAMNQBAAAAAAAAAAAIAIY6AAAAAAAAAAAAAcBQBwAAAAAAAAAAIAAY6gAAAAAAAAAAAAQAQx0AAAAAAAAAAIAAYKgDAAAAAAAAAAAQAAx1AAAAAAAAAAAAAoChDgAAAAAAAAAAQAAw1AEAAAAAAAAAAAgAhjoAAAAAAAAAAAABwFAHAAAAAAAAAAAgABjqAAAAAAAAAAAABABDHQAAAAAAAAAAgABgqAMAAAAAAAAAABAADHUAAAAAAAAAAAACoMyGOhs3btSQIUOUlpamhIQEVatWTe3atdOTTz6prKwsZ9fzxhtvqEePHqpdu7bi4uJUr149XXPNNfrss8+cXQcAAAAAAAAAAEBZiy6LK5kxY4b69u2r3bt3h76WlZWlpUuXaunSpXrxxRf1wQcfqEGDBsd9Hfv379cVV1yh999/v8DXN2zYoA0bNuj111/XiBEj9Le//e24rwMAAAAAAAAAACBcSv2ZOl999ZX69Omj3bt3KzExUY8++qg+/fRTffLJJ7r55pslSatWrVLPnj2VmZl53Ndz4403hgY6Xbt21bvvvqv09HRNmDBBDRs21KFDhzRs2DC9+OKLTm4XAAAAAAAAAABAWSr1Z+oMGjRIWVlZio6O1uzZs9WxY8fQtnPOOUeNGjXS0KFDlZGRoaeeekrDhg075uuYN2+eXn/9dUlSr1699M477ygqKkqS1LZtW1188cVq06aNNm7cqKFDh+ryyy9XlSpVnNw+AAAAAAAAAACAslCqz9RZunSp5s6dK+m3Z9IcPtDJd/fddystLU2SNGbMGB08ePCYr+eJJ56QJEVFRelf//pXaKCTr0aNGnr88cclSbt27dKECROO+ToAAAAAAAAAAADCqVSHOu+++27o8379+hW9AN/XtddeK+m3gUv+EOhoZWZm6pNPPpEknXvuuUpOTi5yv0svvVQnnHCCJGnq1KnHdB0AAAAAAAAAAADhVqpDnQULFkiSEhIS1KZNm2L369y5c+jzhQsXHtN1pKen68CBA4WO83uxsbHq0KFD6DLH84wgAAAAAAAAAACAcCnV99RZuXKlJCk1NVXR0cVfVdOmTQtd5liv4/fHKe56Zs+erdzcXK1evVrNmjU76uvZvHlzids3bdoU+vynn3466uOWtUp7Djk/5oEjtIkEuXu2Oz3eke4PODqu749BuC+6VhEbuv5+lviedqGi/vviGt/T9jbncF90oSLeF0tDRezIeXdkqoj3Rdc413GD+6K9inpfjPRzxiA0LA0V8Xuacx17Fe33OofPCnJzc50c0zPGGCdH+p39+/crPj5ektSzZ0+9//77Je6fmJioffv2qUOHDlq8ePFRX899990Xer+cpUuX6owzzih23yeffFL33HOPJGnWrFnq0aPHUV+P53lHvS8AAAAAAAAAAEC+9PR0tW3b1vo4pfbya3v37g19npiYeMT9ExISJP32HjmldT3513E81wMAAAAAAAAAABBOpfbya/v37w99Hhsbe8T9K1Wq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TKVKlcx7771XYNv7779vKlWqZBo1amR83zctW7Y0mZmZhY6xfv16U6NGDeP7vunXr19ZLT2izJo1K3S/69evn/n1118LbM/JyTEjR440vu+bxMRE8/3334e2bdu2zdx+++2hyxf1F7AVxfjx40Md7rjjDpOVlXVMl8/KyirQ8vnnny+llZZ/nHdz3m2L8243OO+2x3m3GykpKcb3fTN9+vRC2/KHXx07djTZ2dnFHmPLli0mOTnZ+L5vbrrpptJcbsTi8Ys9Hr+4weOXknnGGBPu9/WBnQ8//FAXXHCBPM/Tddddp6efflonnnhiaPvBgwf15JNP6sEHH1TlypW1fPny0Jttbd++XcOHD9e4cePkeZ7OPPNMLViwIFw3JWweeughJ8f58ssv9e6778rzPOXl5Tk5ZpDccccdGjdunKpVq6b09HQ1aNCgwPbs7GwNHTpUzz77rCQpMTFR06ZNU9euXQvst2LFCp166qkVsuP555+v2bNn6/zzz9cHH3xQYNuIESP00EMPyfM8de3aVR9//HGRxzDGqFWrVvrmm2901VVXafLkyWWx9Iji+748z1OtWrV0/vnnH9Vl1q1bp/nz58vzPF177bWFtr/88suulxnR8ht+8803atasWYFtt912m8aPH6+kpCQtX75cDRs2LPIYa9asUatWrZSVlaXBgwfrySefLIulR5Tfd9yzZ4/efPNNTZ48WYsWLVL+aZjneZKkk08+WVdffbWuvfZaNW/ePJxLjxgtW7bUihUrNGjQII0ePbrQ9rvvvltPP/20PM/TO++8o4svvrjI4zzyyCMaNmyYmjZtqu+++660lx1x+vTpo7feekvdu3fX7Nmzi91v8ODB+uc//6nLLrtMU6ZMKbDtueee0+233y7P8zRlyhRdeumlpb3siNO5c2ctXLhQl156aaE+x+Lyyy/X1KlT1alTJ82bN8/hCiMf591ucN5tj/NuNzjvtsd5txvx8fHKycnRsmXL1KpVq9DX9+zZoypVqsjzPM2dO1edOnUq8TjPPvusBgwYoAYNGmjNmjWlveyIw+MXezx+cYPHL0cQzokS3LjiiiuM53nm3HPPLXG//L8iuvzyywttO/yvlCriXxgV9bTv4/2oqH9dZMxvf/3i+7555JFHStzv1VdfDb1uaHx8fKG/pKnIfzFYu3Zt4/u+ee211wpt++6770Jd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UaPIba+88kq4b0bYbNy40VSpUsV4nmdiYmJM//79zWeffWZyc3NLvFxubq757LPPzK233mpiYmKM53mmSpUqZuPGjWW08shCR3s0dIOO9mjoBh3t0dANOkaW/L8Y9H0/3EsJLBq6QUd7NHSDjvZo6AYd3aCjPRq6UV47+uEeKsFedna2Lr74Yq1bt06+76tv376aPHmyZs+erSlTpmjAgAFKSEhQTk6OOnfurG3btmnLli168803dckll0iSDhw4oBtuuEH/+c9/wnxrwmPs2LHavXu3kpKSNH/+fI0bN07t27dXVFRUiZeLiopS+/bt9dxzz2nevHlKTEzUnj17NHbs2DJaeWShoz0aukFHezR0g472aOgGHQEAAACgfPCMKW/PPap4nnrqKQ0ZMkRxcXGaPn26unXrVmif1atXq3Pnzvrll180efJkXXXVVaFtS5Ys0RVXXKHNmzerevXqysjIUPXq1cvyJoRds2bNtGrVKj366KO67777jvs4//jHP/TAAw+oadOm+u677xyuMBjoaI+GbtDRHg3doKM9GrpBRzcaNGjg5DiZmZnavn27PM9TXl6ek2MGBQ3doKM9GrpBR3s0dIOObtDRHg3doGPJeE+dcuCtt96S53kaMGBAkQMdSWrUqJEef/xxXXfddRo1alSBoU779u313//+V6effrp27typCRMmaOjQoWW1/IiwadMmSVLXrl2tjnPOOecUOF5FQ0d7NHSDjvZo6AYd7dHQDTq6sX79enmeZ/2a3J7nOVpR8NDQDTrao6EbdLRHQzfo6AYd7dHQDTqWjKFOObB69WpJUs+ePUvcL3/7119/rd27d+vEE08MbUtNTdUtt9yiMWPGaNq0aRVuqBMbG6usrCxlZ2dbHSf/8rGxsS6WFTh0tEdDN+hoj4Zu0NEeDd2go1uJiYlWz2zPzMzUjh07HK4oeGjoBh3t0dANOtqjoRt0dIOO9mjoBh2LEZ638oFLlSpVMr7vm+XLl5e4X05OTuiNoVavXl1o+4cffmg8zzMnnXRSaS01YrVr1874vm/69+9vdZxbb73VeJ5n2rVr52hlwUJHezR0g472aOgGHe3R0A06ulG/fn3j+77p0aOH1XHK6xu2Hg0aukFHezR0g472aOgGHd2goz0aukHHkvnhHirBXs2aNSVJGRkZJe53+PYqVaoU2l6rVi1J0q+//upsbUFx+eWXyxij559/Xk899dRxHWP06NF6/vnn5XmerrjiCscrDAY62qOhG3S0R0M36GiPhm7Q0Y22bdvKGKNly5aFeymBRUM36GiPhm7Q0R4N3aCjG3S0R0M36FgyhjrlQIcOHWSM0ZgxY5Sbm1vsfqNGjZIk1a5dWzVq1Ci0PX+YY/OUtqC688471bhxYxljdM8996hFixYaNWqU0tPTtWfPniIvs2fPHqWnp2vUqFFq0aJF6CXrGjVqpDvuuKMslx8x6GiPhm7Q0R4N3aCjPRq6QUc32rVrJ0natWuXfvjhhzCvJpho6AYd7dHQDTrao6EbdHSDjvZo6AYdS8Z76pQD1113nd5++20tW7ZMvXr10rPPPqsGDRqEtu/YsUMPPvigXn31VXmepyuvvLLI4+RPPlNSUspk3ZEkPj5eM2bM0EUXXaRVq1Zp5cqVuu+++0LbExISlJiYqNjYWOXk5CgzM1P79u0rcAxjjBo3bqwZM2YoPj6+rG9CRKCjPRq6QUd7NHSDjvZo6AYd3ch/cClJ6enpBc65cXRo6AYd7dHQDTrao6EbdHSDjvZo6AYdS8ZQpxy46KKLdNFFF+n999/X7Nmz1ahRI6Wmpuqkk07S7t27tXLlSuXl5UmSTj75ZN1///1FHmfSpEnyPE+dOnUqy+VHjIYNG2rZsmUaNWqUxo4dW+Bl6DIzM5WZmVnsZU888UQNHDhQ99xzjxITE8tgtZGLjvZo6AYd7dHQDTrao6EbdLTXunVrde7cWZJK7HUkZ599tl5++WVXywoUGrpBR3s0dIOO9mjoBh3doKM9GrpBx5J5xhgT7kXAXmZmpvr06aNZs2ZJkjzPC23L/1+cnJys9957T6effnqhy2/atEm33367JOmvf/2rOnbsWPqLjmC5ubmaO3euFixYoJUrV2rTpk3au3ev9u/fr7i4OCUlJSk5OVnNmjXT2WefrS5duigmJibcy444dLRHQzfoaI+GbtDRHg3doCMAAAAABBNDnXLmrbfe0qRJk7R06VLt3LlTCQkJSktL0yWXXKLbbrtNSUlJ4V4iAAAAAAAAAAA4Dgx1AAAAAAAAAAAAAsAP9wIAAAAAAAAAAABwZNHhXgAQyTZs2BB6nfnMzExlZ2crPj5eiYmJSklJUVpamurWrRvuZUY8OtqjoRt0tEdDN+hoj4Zu0NENOtqjoRt0tEdDN+hoj4Zu0NENOtqjoRt0/P8Myq28vDyzatUq89FHH5mpU6ea1157zbz33ntmwYIFZseOHeFeXsT64YcfzMCBA80f/vAH4/v+ET9SUlLMgAEDzJo1a8K99IhCR3s0dIOO9mjoBh3t0dANOrpBR3s0dIOO9mjoBh3t0dANOrpBR3s0dIOOhTHUKWeysrLMv/71L3POOeeYuLi4Eu/gqamp5oEHHjDr1q0L97Ijxt/+9jcTGxtrfN83nucd9Yfv+yY2NtY8+OCD4b4JEYGO9mjoBh3t0dANOtqjoRt0dIOO9mjoBh3t0dANOtqjoRt0dIOO9mjoBh2L5hljTLifLQQ3pk6dqgEDBujnn3+WJB3pf63neZKkmJgY3XfffXrwwQcVHV1xX5Hvtttu0/PPPx/q1qRJE3Xu3FlNmzZVSkqKEhISVKlSJR04cED79u3Tpk2blJGRofnz5ysjI0PSb01vuukmjR8/Ppw3JazoaI+GbtDRHg3doKM9GrpBRzfoaI+GbtDRHg3doKM9GrpBRzfoaI+GbtCxBGU6QkKpGTdunImKigpNI+Pj402dOnVMUlJS6GtxcXFm6NChZsiQIea8884zVapUKTC9vOCCC8yBAwfCfVPCYtasWaEObdu2NZ999tkxXX7x4sWmbdu2oWN8+OGHpbTSyEZHezR0g472aOgGHe3R0A06ukFHezR0g472aOgGHe3R0A06ukFHezR0g44lY6hTDqxYscJUqlTJeJ5nWrZsaT7++GOTm5sb2v7555+b888/33ieZ1JTU82ePXuMMcbk5OSYd955x5x22mmhO/iNN94YrpsRVpdeeqnxPM+0adPGZGVlHdcxsrOzTevWrY3v+6Z3796OVxgMdLRHQzfoaI+GbtDRHg3doKMbdLRHQzfoaI+GbtDRHg3doKMbdLRHQzfoWDKGOuXAHXfcYTzPM40bNzZ79+4tcp9Dhw6ZHj16GN/3zaBBgwpsy83NNddcc01osLNkyZKyWHZESU5ONr7vmzfffNPqOG+++abxPM8kJyc7Wlmw0NEeDd2goz0aukFHezR0g45u0NEeDd2goz0aukFHezR0g45u0NEeDd2gY8n8cL/8G+x99NFH8jxPQ4cOVWJiYpH7eJ6nESNGyBijSZMmFXi/naioKE2YMEHNmjWTJE2cOLEslh1Rtm3bJklq2LCh1XHyL799+3brNQURHe3R0A062qOhG3S0R0M36OgGHe3R0A062qOhG3S0R0M36OgGHe3R0A06loyhTjnw448/SpJatWpV4n7523/99Vdt2bKlwLaYmBj1799fxhjNmTOndBYawWrWrClJWrt2rdVx8i9fo0YN6zUFER3t0dANOtqjoRt0tEdDN+joBh3t0dANOtqjoRt0tEdDN+joBh3t0dANOpaMoU454Pu//W88cOBAifvl5OQU+Xm+/KHP7wc+FUG7du1kjNGoUaOO2LE4+/fv1+OPPy7P89S2bVvHKwwGOtqjoRt0tEdDN+hoj4Zu0NENOtqjoRt0tEdDN+hoj4Zu0NENOtqjoRt0PIIyfbE3lIoWLVoY3/fNo48+WuJ+06ZNM57nmejoaLNv375C25cvX248zzOJiYmltdSINXPmzNB7CrVv396kp6cf0+WXLFli2rVrFzrGzJkzS2mlkY2O9mjoBh3t0dANOtqjoRt0dIOO9mjoBh3t0dANOtqjoRt0dIOO9mjoBh1L5hlz2JurIJAGDx6sf/7zn6pSpYoWLVqktLS0Qvvs3LlTZ555plavXq02bdooPT290D7Tpk1T79691aBBA61Zs6Yslh5Rbr31Vr3wwgvyPE+S1LRpU3Xu3FlNmzZVcnKyEhMTFRsbq5ycHGVmZmrz5s3KyMjQvHnzlJGRIUkyxujGG2/UCy+8EM6bElZ0tEdDN+hoj4Zu0NEeDd2goxt0tEdDN+hoj4Zu0NEeDd2goxt0tEdDN+hYgrKdIaE0rFu3zlSqVMn4vm9OOOEEM2zYMPPpp5+atWvXmuXLl5unn37apKSkhCaTr7zySpHHufPOO43neaZnz55lfAsix1//+lcTExMTanW0H57nmZiYGHP//febQ4cOhftmhB0d7dHQDTrao6EbdLRHQzfo6AYd7dHQDTrao6EbdLRHQzfo6AYd7dHQDToWjaFOOTF+/PgS79ye5xnP88wll1xS5OWzsrJM1apVjed5ZvTo0WW7+AizZs0ac/vtt5vk5ORQt5I+6tSpY26//Xbz/fffh3vpEYWO9mjoBh3t0dANOtqjoRt0dIOO9mjoBh3t0dANOtqjoRt0dIOO9mjoBh0L4+XXypE33nhDgwYN0tatWwtti4mJ0W233aZRo0YpJiam0PYdO3Zo7ty5kqROnTqpVq1apb3cQFi3bp1WrlypTZs2ae/evdq/f7/i4uKUlJSk5ORkNWvWTPXr1w/3MiMeHe3R0A062qOhG3S0R0M36OgGHe3R0A062qOhG3S0R0M36OgGHe3R0A06/oahTjmTnZ2tmTNnaunSpdq5c6cSEhKUlpamCy+8UHXq1An38gAAAAAAAAAAwHFiqAMAAAAAAAAAABAAfrgXAAAAAAAAAAAAgCNjqAMAAAAAAAAAABAA0eFeABBpFi1apLfeektr166V7/tq2rSp+vTpo9atWx/xsqtXr1aPHj3keZ7Wrl1bBquNXHS0R0M36GiPhm7Q0R4N3aCjG3S0R0M36GiPhm7Q0R4N3aCjG3S0R0M36FgEA/x/EydONL7vm6ioqHAvJSxycnJM3759je/7RX5cfvnlZuvWrSUe49tvvzWe5xnf98to1ZGHjvZo6AYd7dHQDTrao6EbdHSDjvZo6AYd7dHQDTrao6EbdHSDjvZo6AYdi8dQByETJ04sl3fyo3Xttdcaz/OK/fB935x88slmwYIFxR6jvP6gOBZ0tEdDN+hoj4Zu0NEeDd2goxt0tEdDN+hoj4Zu0NEeDd2goxt0tEdDN+hYPIY6CKnIQ50FCxaEbnuTJk3M+++/bzIzM83OnTvN1KlTTfv27UM/MOLj4820adOKPE55/UFxtOhoj4Zu0NEeDd2goz0aukFHN+hoj4Zu0NEeDd2goz0aukFHN+hoj4Zu0LFkDHUQUpGHOtdff73xPM+kpKSYHTt2FNp+6NAh8+STT5qYmBjjeZ6JiYkxr776aqH9yusPiqNFR3s0dIOO9mjoBh3t0dANOrpBR3s0dIOO9mjoBh3t0dANOrpBR3s0dIOOJWOoUw7069fPyUenTp3K5Z38aDRu3Nj4vm/GjBlT4n5z58411apVM57nmaioKDNu3LgC28vrD4qjRUd7NHSDjvZo6AYd7dHQDTq6QUd7NHSDjvZo6AYd7dHQDTq6QUd7NHSDjiVjqFMO5N8xXXyUxzv50UhMTDS+75slS5Yccd9vv/3W1KlTJ9Rq1KhRBbZV1IbG0NEFGrpBR3s0dIOO9mjoBh3doKM9GrpBR3s0dIOO9mjoBh3doKM9GrpBx5L5QrlhfhvSWX1UVAcPHpQkRUVFHXHf5s2ba8GCBapfv76MMbr33ns1fPjw0l5iINDRHg3doKM9GrpBR3s0dIOObtDRHg3doKM9GrpBR3s0dIOObtDRHg3doGPJGOqUA9WrV5ck9ejRQ+vWrTvuj1GjRoX5loRPrVq1JEkbN248qv3r16+vBQsWKC0tTcYYPfLII7r77rtLc4mBQEd7NHSDjvZo6AYd7dHQDTq6QUd7NHSDjvZo6AYd7dHQDTq6QUd7NHSDjkfg9Hk/CIsLLrjAeJ5n6tata3WciRMnlsunox2NCy64wPi+bwYPHnxMl9u+fbtp3bp1qFv37t0rbENj6OgCDd2goz0aukFHezR0g45u0NEeDd2goz0aukFHezR0g45u0NEeDd2gY8kY6pQDw4YNC905t27detzHqchDnZEjRxrP80xycrI5dOjQMV129+7d5qyzzgq1q6gNjaGjCzR0g472aOgGHe3R0A06ukFHezR0g472aOgGHe3R0A06ukFHezR0g44l4+XXyoF27dqFPl+6dGkYVxJc559/viRpy5Ytmjp16jFd9oQTTtBHH32kc889t0K/L5FERxdo6AYd7dHQDTrao6EbdHSDjvZo6AYd7dHQDTrao6EbdHSDjvZo6AYdj6Csp0hwb+vWrcbzPON5nhkxYsRxH2fhwoXm+uuvN9dff73D1QXHH//4R5Oammp69ep1XJfPyckxl156abmc/h4LOtqjoRt0tEdDN+hoj4Zu0NENOtqjoRt0tEdDN+hoj4Zu0NENOtqjoRt0LJ5nTHkdVwEAAAAAAAAAAJQfvPwaAAAAAAAAAABAADDUAQAAAAAAAAAACACGOgAAAAAAAAAAAAHAUAcAAAAAAAAAACAAGOoAAAAAAAAAAAAEAEMdAAAAAAAAAACAAGCoAwAAAAAAAAAAEAAMdQAAAAAAAAAAAAKAoQ4AAAAAAAAAAEAAMNQBAAAAAAAAAAAIAIY6AAAAAMq9nj17yvM8+b6vhQsXHtVlFi5cKN/35XmeLrroolJeIQAAAAAcmWeMMeFeBAAAAACUps2bN6t58+bas2ePmjRpoi+//FJxcXHF7n/gwAGddtppWrVqlU444QStWLFCycnJZbhiAAAAACiMZ+oAAAAAKPeSk5P1+OOPS5JWrVqlv//97yXu/9BDD2nVqlWSpCeeeIKBDgAAAICIwDN1AAAAAFQIxhh17dpV8+bNU3R0tNLT09WqVatC+3311Vc644wzlJubqy5duui///2vPM8Lw4oBAAAAoCCGOgAAAAAqjDVr1qhly5bKzs7W6aefrqVLlyo6Ojq0PS8vT+3bt9fnn3+u+Ph4ffPNN2rYsGEYVwwAAAAA/4eXXwMAAABQYaSmpuqhhx6SJH355ZcaNWpUge1PPfWUPv/8c0nSww8/XGCgs3nzZt1///1q3bq1qlatqri4OP3hD3/QlVdeqTlz5pR4vbt27dLLL7+sq6++Ws2aNVNiYqJiY2N18sknq0ePHnr++eeVk5NT7OXXr18vz/PkeZ4mTpwoSZo6daouvPBCnXLKKYqOjlaXLl2OowgAAACAIOGZOgAAAAAqlLy8PHXs2FFLly5VpUqV9NVXX6lJkyZau3atTj31VGVnZ6tt27ZavHixoqKiJEkTJkzQgAEDlJ2dXexxb7zxRj333HMFnvmTr169etqwYUOJ62rVqpU++OADnXzyyYW2rV+/XvXr15ckvfTSS5ozZ44mT55cYJ/OnTtr7ty5R7r5AAAAAAKMoQ4AAACACuebb75RmzZtdPDgQZ111lmaP3++unfvrjlz5igmJkbLly9XixYtJP02RLnxxhslSS1atNCtt96qVq1aqXLlylq3bp0mTJigDz74QJL0l7/8RaNHjy50fSkpKapTp44uuugitWrVSieddJJycnK0bt06vfrqq5o1a5ak4gczhw91WrZsqa+//lqdOnXSbbfdpsaNG+vXX3/V+vXrQ+sEAAAAUD4x1AEAAABQIQ0fPjz0UmzdunXTJ598Evr6iBEjJEmbNm1S06ZNlZWVpeuuu04vvvhikc/EeeCBBzRy5Ej5vq+VK1eqcePGBbavXr1ajRo1KnYtL7/8sm644QZJ0scff6xu3boV2H74UEeSrr32Wk2cOFGe5x37DQcAAAAQWAx1AAAAAFRIOTk5at26tVasWBH6WosWLfT5558rNjZWkjRkyBCNHj1ap5xyitauXau4uLgij5Wbm6t69erpxx9/1AMPPKBHHnnkmNfTunVrffHFF7rzzjv1zDPPFNh2+FCnSpUq2rhxo5KSko75OgAAAAAEmx/uBQAAAABAOMTGxuqll14KvW9OVFSUJkyYEBroSNK0adMkSb169Sp2oCNJ0dHR6tixoyRp8eLFJV6vMUY///yzvv/+e3377behj1NOOUWS9NVXX5V4+V69ejHQAQAAACqowq8bAAAAAAAVRLt27ZScnKwNGzYoOTlZ7dq1C23bvXu31qxZI0kaP368xo8ff1TH/Pnnn4v8+owZMzRu3DjNnz9fe/fuLfby27dvL/H4LVu2PKp1AAAAACh/GOoAAAAAQBG2bt16XJfLysoq8N/GGN18882aMGHCUV0+Ozu7xO1Vq1Y9rnUBAAAACD6GOgAAAABQhLy8vNDngwYN0o033nhUlzv85dsk6aWXXgoNdE4//XQNGjRI7du3V506dVS5cuXQy79de+21mjx5so70tqf5+wMAAACoeBjqAAAAAEARqlevHvo8KytLLVq0OK7jvPDCC5Kkhg0b6tNPP1V8fHyR++3ateu4jg8AAACg4vDDvQAAAAAAiEQ1a9ZUnTp1JEkff/zxEZ9BU5wVK1ZIki655JJiBzrGGC1fvvz4FgoAAACgwmCoAwAAAADFuPjiiyVJP/zwg956663jOkZubq6kwu+1c7j33ntPW7ZsOa7jAwAAAKg4GOoAAAAAQDHuueceVapUSZLUv39/LVu2rMT9P/jgA3399dcFvtaoUSNJ0vTp04t8ibW1a9fq9ttvd7RiAAAAAOUZQx0AAAAAKEb9+vX13HPPSZJ27typs846SzfddJPeffddLV++XOnp6Zo6daruu+8+paamqmfPntq4cWOBY1x77bWSpB9//FFnnnmmXn75ZaWnp2v+/PkaMWKE2rRpo507d6p169ZlfvsAAAAABEt0uBcAAAAAAJHs+uuvV3x8vG655Rbt2bNHEyZM0IQJE4rc1/d9JSQkFPjaXXfdpY8++kizZ89WRkaGbrjhhgLb4+PjNWnSJM2YMYP31QEAAABQIp6pAwAAAABHcOWVV2r9+vV67LHH1KVLF9WqVUsxMTGqXLmyGjRooF69eumpp57S+vXr1bVr1wKXjYmJ0YwZMzR27FidccYZqly5suLj45Wamqr+/ftr+fLluuKKK8J0ywAAAAAEiWeMMeFeBAAAAAAAAAAAAErGM3UAAAAAAAAAAAACgKEOAAAAAAAAAABAADDUAQAAAAAAAAAACACGOgAAAAAAAAAAAAHAUAcAAAAAAAAAACAAGOoAAAAAAAAAAAAEAEMdAAAAAAAAAACAAGCoAwAAAAAAAAAAEAAMdQAAAAAAAAAAAAKAoQ4AAAAAAAAAAEAAMNQBAAAAAAAAAAAIAIY6AAAAAAAAAAAAAcBQBwAAAAAAAAAAIAAY6gAAAAAAAAAAAAQAQx0AAAAAAAAAAIAAYKgDAAAAAAAAAAAQAAx1AAAAAAAAAAAAAoChDgAAAAAAAAAAQAAw1AEAAAAAAAAAAAgAhjoAAAAAAAAAAAABwFAHAAAAAAAAAAAgABjqAAAAAAAAAAAABABDHQAAAAAAAAAAgABgqAMAAAAAAAAAABAA/w+qRDABoNoLkQAAAABJRU5ErkJggg==", "text/plain": [ "
    " ] }, "metadata": { "image/png": { "height": 560, "width": 826 } }, "output_type": "display_data" } ], "source": [ "results_by_year.plot(kind=\"bar\", grid=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Is there any significance to the court?" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    ResultLossWin
    Tournament
    Australian Open17
    French Open13
    US Open46
    Wimbledon47
    \n", "
    " ], "text/plain": [ "Result Loss Win\n", "Tournament \n", "Australian Open 1 7\n", "French Open 1 3\n", "US Open 4 6\n", "Wimbledon 4 7" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results_by_surface = df.groupby([\"Surface\", \"Result\"]).Tournament.count().unstack()\n", "results_by_surface" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABlsAAAT5CAYAAABUGKcsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAB7CAAAewgFu0HU+AACnq0lEQVR4nOzde5yWdYH38e8wwIwBAgoigqjZuioesuRkHreD4Xo+oFamJnko3dont9LdWtunxzxsua7mYaXSNA9Z2iOWPZ4VDUUtFUVWzRNHBUTEw8wAM88fvpgFEWT4cc89MO/368Wra+a+7t/1m3GaH/f94bqumpaWlpYAAAAAAACwRrpUewIAAAAAAADrMrEFAAAAAACggNgCAAAAAABQQGwBAAAAAAAoILYAAAAAAAAUEFsAAAAAAAAKiC0AAAAAAAAFxBYAAAAAAIACYgsAAAAAAEABsQUAAAAAAKCA2AIAAAAAAFBAbAEAAAAAACggtgAAAAAAABQQWwAAAAAAAAqILQAAAAAAAAXEFgAAAAAAgAJdqz2BSmpoaMjkyZOTJP3790/Xruv1lwsAAAAAAKzC4sWLM2fOnCTJjjvumPr6+rUy7npdHyZPnpzhw4dXexoAAAAAAEAHM2nSpAwbNmytjOUyYgAAAAAAAAXW6zNb+vfv37o9YcKEDBw4sIqzgepobGzMxIkTkySjRo1KXV1dlWcEQHuzFgCQWA8AsBZAksyaNSt77LFHkuUbQqn1OrYse4+WgQMHZvDgwVWcDVRHQ0ND+vXrlyQZNGjQWrsGIQDrDmsBAIn1AABrAbzf2rzPu8uIAQAAAAAAFBBbAAAAAAAACogtAAAAAAAABcQWAAAAAACAAmILAAAAAABAAbEFAAAAAACggNgCAAAAAABQQGwBAAAAAAAoILYAAAAAAAAUEFsAAAAAAAAKdK32BNYFTU1Neffdd/POO+9k0aJFaW5urvaUWA916dIl3bp1y0c+8pFssMEG6d69e7WnBAAAAADAahBbVqGlpSXz58/P66+/Xu2p0Ek0NTXl7bffTpJstNFG6du3b2pqaqo8KwAAAAAAVkVsWYXXXnstCxcuTPJeeEneO/ugpqbGG+CsVS0tLWlpaWk9a6qmpiavv/56Fi1alAEDBlR5dgAAAAAArIrYshKNjY2toSVJevfunR49eqRbt25CCxXR0tKSRYsW5e23386bb76ZJFm4cGH69OmTurq6Ks8OAAAAAICV6VLtCXRUS9/sbmlpSZ8+fdK3b990795daKFiampq0r179/Tt2zd9+vRpPZtq6c8iAAAAAAAdk9iyEg0NDUneewO8V69eVZ4NnU2vXr1aw97Sn0UAAAAAADomsWUllixZkuS9e7R06eLbRPta9udu6c8iAAAAAAAdk4rwIVw2jGrxswcAAAAAsG4QWwAAAAAAAAqILQAAAAAAAAXEFgAAAAAAgAJiCwAAAAAAQAGxBQAAAAAAoIDYwnqhV69e6dWrV84+++xqTwUAAAAAgE6ma7UnwJqbMGFC9ttvvw98rL6+PhtttFGGDh2a0aNH5+ijj07Pnj3beYYAAAAAALD+c2bLeqqhoSEzZ87MHXfckf/1v/5XRowYkcmTJ1d7WlUxYcKE1jNfJkyYUO3pAAAAAACwnnFmy3pi7Nix+epXv9r68bx58/Lcc8/loosuyvPPP59XXnklhx56aP785z+nV69eVZwpAAAAAACsX5zZsp7o379/tt9++9Y/e+yxR77yla/k4Ycfzl577ZUkmT17dn7xi19UeaYAAAAAALB+EVvWc927d88ZZ5zR+vE999xTxdkAAAAAAMD6R2zpBD7+8Y+3bk+fPn2l+z377LP5p3/6pwwbNiyDBg1K//79s+OOO+bkk0/O448/vspjNDQ05NJLL83o0aOzxRZbpG/fvhkyZEg+8YlP5LDDDsvFF1+cl19+eYXnDR06NL169cpJJ520yvFPOumk9OrVK0OHDl3lfst6+eWX06tXr+y3336tn9tvv/1a79+y9M8111yz2mMCAAAAAMD7uWdLJ1BbW9u63bXrB/8nP/fcc3POOedk8eLFy33+pZdeyksvvZRrr7023/nOd/LP//zPKzx39uzZOeCAAzJ16tTlPj9//vzMnz8/zz33XG6//fbMnDkzZ5999lr4igAAAAAAoOMQWzqBZSPIkCFDVnj8hz/8Yc4999wkyYgRI3LMMcdku+22S7du3fLcc8/l8ssvz6RJk3LOOedk4403zsknn7zc808//fTWYxx11FE54IADMnDgwNTW1ua1117L448/nltvvbWCX+EH22yzzfLwww/nsccey9e+9rUkySWXXJJPfvKTK+wHAAAAAABrSmzpBP7zP/+zdfvggw9e7rHHHnss559/fpLk29/+dr73ve8t9/guu+ySww8/PCeddFKuv/76/Nu//VuOOuqo9OnTJ8l7lw/7wx/+kCQ57bTTPvDMlc9//vP57ne/m9dff30tflUfrlu3btl+++0zb9681s9tueWW2X777dt1HgAAAAAArN8qds+WvffeOzU1NW36c++991ZqOp3OvHnz8qc//SmHHXZYbrzxxiTJ8OHDc/jhhy+33wUXXJDm5ubssssu+Zd/+ZcPHKtLly45//zzU1dXl4ULF+Z3v/td62Pz58/PokWLkiSf+tSnVjmnjTbaqOArAgAAAACAjqlisaWtunTpkr/5m7+p9jTWWT/60Y+Wu+n7lltumX333Te33357unbtmqOOOio333xzunXr1vqcRYsW5Y477kiSHHTQQampqVnp+H369Gm9Of2kSZNaP7/RRhule/fuSZLrr79+hXu+AAAAAADA+q5ilxH7xS9+kbfffnuV+0yZMiVHHnlkkuTTn/50Bg0aVKnpdGof+9jH8s1vfjMbbrjhcp+fOnVq3nnnnSTJWWedlbPOOmu1xnv11Vdbt+vq6nLYYYfluuuuy+9+97v8+c9/ziGHHJI99tgjI0eOTO/evdfa1wEAAAAAAB1RxWLLVltt9aH7XH311a3bX/7ylys1lU5h7Nix+epXv5okWbx4cWbNmpU//OEPufrqqzN16tSMHj06d955Z7bZZpvW58yZM2eNjvXuu+8u9/G///u/54033shtt92WV155JRdeeGEuvPDC1NbW5uMf/3gOOeSQHH/88SvEHgAAAAAAWB9ULLZ8mObm5vzqV79KkvTs2TOHHnpotaayXujfv/9yN37faaedsu+++2b06NE58sgjM3/+/Jxwwgm59957U1tbmyRZsmRJ6/4//OEP89nPfna1jvWRj3xkuY833HDD/PrXv86jjz6am266KRMmTMjkyZOzZMmSPPbYY3nsscdy4YUX5rrrrsuIESPWwlcLAAAAAAAdR9Viy1133ZUZM2YkSQ4//PAV3sBn7fj85z+fE044IVdccUUef/zxXHPNNTn22GOTLH/D+kWLFi0Xa9bErrvuml133TVJsnDhwkyYMCHXXHNNxo8fnzlz5uRLX/pSnnzyyWywwQatz+nS5b3bBrW0tKxy7KWXOwMAAAAAgI6mS7UO/Mtf/rJ12yXEKuuMM85Ijx49kiTnnHNOmpqakiTbbbdd683t77777rV6zF69emW//fbLtddem1NOOSVJMnv27EycOHG5/Xr27JkkmT9//irHe+6559Z4LjU1NWv8XAAAAAAA+DBVObPlrbfeys0335wkGTJkSPbee+81Gmf69OmrfHzWrFmt242NjWloaFjtsZubm9PS0pKWlpY0Nzev0fwqbdl5rWqeG2+8cY4//vhcfPHFmT59eq655pocd9xxqa+vz1577ZU77rgjEyZMyCOPPJJPfvKTa32ee+65Zy699NIkydy5c5eb5xZbbJGnnnoqTzzxRJYsWfKBYWTKlCl5+umnWz9e1X+PD/o+LA1KyXv3m+mo/z3fb9mfv7b87L7fss8tGQeAdZe1AIDEegCAtQCS91pBJVQltvz2t7/N22+/nSQ55phj1vjMg80333y19504cWL69eu32vtvvPHGqa+vT11dXRYuXLgm06u4ZS+t1djYuMp5fuUrX8kVV1yRxsbG/OQnP8nBBx+c2trafO1rX8udd96ZlpaWHHfccbn22muz5ZZbfuAYS5YsyS233JIRI0Zks802S5K8/PLLmTlzZkaNGrXSY//xj39s3e7Xr99y89x1113z+9//PrNmzcrVV1+dQw45ZLnnvvXWWzn55JNbP25ubl7l1/lB34elZ88kydSpU9eZ+8YsXry4NRI+++yza2XMhx56aK2MA8C6y1oAQGI9AMBaQOc1d+7cioxbldjiEmLtb5NNNslRRx2Vq666Ki+//HJuvvnmHH744Rk2bFi++c1v5oILLsgrr7ySfffdN0cddVT23HPPDBgwII2NjZk+fXoee+yx/P73v8+rr76aO++8szW2zJgxI2PGjMk222yTz3/+89lpp52y6aabJklmzpyZ8ePHZ/z48UmSHXbYIZ/4xCeWm9ehhx6an/zkJ1m4cGFOP/30vPTSS9lrr71SU1OTJ598Mv/1X/+V2bNnZ4cddshTTz21Rl/7oEGDMnDgwMyaNSuXX355Nt1002y99dapra1NkvTv33+5IAMAAAAAAG1R0/JhdyZfy6ZPn54tttgizc3NGTly5Ar38GjrWKsya9asDB8+PEny9NNPZ9CgQas99syZM7NkyZLU1ta26XntacKECdl///2TJN/97ndzxhlnrHL/6dOnZ5dddklTU1O22WabPPzww603qL/kkkty1llnfegpVN27d89DDz2UrbfeeoU5rMrf/u3f5sYbb8wWW2yxwmM333xzTjjhhCxZsmSFx+rr63PZZZfl9ttvz7XXXpshQ4Zk8uTJK+zXu3fvJCv/PowbNy7f+ta3PnBul1xySb74xS9+6NfQ3mbMmNH6M7g0bq2JhoaG1n+psOfU76d+8YK1NUXaqOnUJ6o9BaCTWnYtGDlyZOrr66s8IwCqwXoAgPeJOg7vE1XPjBkzMnTo0CTJtGnTMnjw4LUybruf2XLNNde03jPj2GOPLRqrLd+Eurq6Nv1FskuXLmlubk5NTU1rkOholp3X6sxzyJAh+cIXvpArr7wyzz77bMaPH9962a5TTz01hx56aH7+85/n7rvvzgsvvJAFCxakrq4uAwcOzNChQ/N3f/d3OfDAA5e7HNvuu++eu+66K/fcc08mTJiQ6dOn57XXXktDQ0P69u2bHXfcMQceeGC+9KUvLXfvlGUddthh2WKLLfKTn/wkEydOzJtvvplNNtkke+65Z775zW9mu+22y+233/6BX/f7rez7cOKJJ2bAgAH5xS9+kSeffDLz58/P4sWLV/t7Vw01NTWtc1tbL4LqFy/IBovmr5WxaLsuXswCHUB9fb031wCwHgDgfaIq8z5R9dTV1VVk3HY/s2Xo0KGZMmVK6urqMmvWrPTt27dix5o+fXrrfV2ef/75NsWZl156KYsXL05tbe1aK1vQFtOnT8+SJUvStWvXld5HZ3U0NDTk3nvvTZJ87qlvWESrqPGM16o9BaCTWnYt2Hvvvb25BtBJWQ8A8D5Rx+F9ouqZPn16PvaxjyVZu2e2tOs/53/00UczZcqUJMn+++9f0dACAAAAAADQHto1tvzyl79s3S69hBgAAAAAAEBH0G6xZdGiRbn++uuTJP3798/o0aPb69AAAAAAAAAV026x5bbbbsucOXOSJF/4whfStWvX9jo0AAAAAABAxbRbbFn2EmJf/vKX2+uwAAAAAAAAFdUusWX+/Pm59dZbkyQ77LBDPvGJT7THYQEAAAAAACquXWLLDTfckMbGxiTOagEAAAAAANYv7RJbrr766iRJbW1tvvjFL7bHIQEAAAAAANpFu9yl/sEHH2yPwwAAAAAAALS7djmzBQAAAAAAYH0ltgAAAAAAABQQWwAAAAAAAAqILQAAAAAAAAXEFgAAAAAAgAJiCwAAAAAAQAGxBQAAAAAAoIDYAgAAAAAAUEBsAQAAAAAAKCC2AAAAAAAAFBBbAAAAAAAACnSt9gTWFzv88L5qT6GinvqXvSp+jAkTJmS//fZLkpxxxhk588wzK35MAAAAAAAo5cwWAAAAAACAAmILAAAAAABAAbEFAAAAAACggNgCAAAAAABQoGu1JwBrS1NTU6666qrcfPPNmTJlSt5888307ds3H//4x3PEEUdkzJgx6dJl5X3xueeey+WXX577778/r7zySpqamrLxxhunf//+2XnnnfOZz3wm+++/f+rq6pZ73pIlS3LdddflN7/5TSZPnpz58+fnIx/5SPr165fBgwdnr732ygEHHJBtt9220t8CAAAAAACqQGxhvfDKK6/k0EMPzX//938v9/nXXnstt99+e26//fb8/Oc/z/XXX5+NNtpohefffPPNGTt2bJqampb7/OzZszN79uxMnjw511xzTR5++OFsv/32rY+/9dZbOeyww/KnP/1puectWLAgCxYsyF//+tfcd999eeKJJ3LNNdesxa8YAAAAAICOQmxhnffWW29l//33z4svvpgk2X///XPMMcdk4MCBefnll3P55ZfngQceyMSJE3PEEUfk9ttvT21tbevzX3vttZxyyilpampK//79c9JJJ2XYsGHZeOON09DQkJdeeikPPvhgbrnllhWOffbZZ7eGls9//vM58sgjM3jw4NTX12fu3LmZPHly/vjHP6ampqZ9vhkAAAAAALQ7sYV13o9+9KPW0PLtb3873/ve91of22WXXXLQQQflq1/9am644YZMmjQpv/jFLzJ27NjWff74xz/m7bffTpLceuuty525kiQjRozIkUcemfPOOy8tLS3LPXbzzTcnSQ4++OBcffXVK8ztM5/5TP7xH/8xr7/++tr5YgEAAAAA6HBWfgMLWAc0Njbml7/8ZZJk2223zZlnnrnCPjU1NfnJT37Sevmwyy+/fLnHX3311SRJ3759Vwgty6qvr88GG2zwgc/dbbfdVjnPD7p0GQAAAAAA6wexhXXaX/7yl7zxxhtJki9+8YvLXR5sWRtuuGEOPfTQJMnUqVMze/bs1sc23XTTJMn8+fNz6623tun4S5/729/+Nu+8805bpw8AAAAAwHpAbGGdNmXKlNbtXXfddZX7Lvv4ss/bb7/90qdPnyTJF77whfz93/99Lr744vzlL3/JkiVLVjnmF77whSTJww8/nB122CHf+ta3csstt2TOnDlt/VIAAAAAAFhHiS2s0+bPn9+6vckmm6xy3wEDBnzg8zbeeONcf/312WyzzdLS0pL7778/Z5xxRvbcc88MGTIkX/ziF3Pbbbd94Jjf+c53cswxx6SmpiZz5szJf/3Xf+WLX/xitt5664wYMSL/5//8n7z22muFXyUAAAAAAB2Z2MJ6o6amZpWPv//m9sv61Kc+lSeeeCLjxo3LmDFjMmjQoCTJm2++mVtuuSVjxozJIYccssKlwrp165ZLLrkkkyZNyre//e2MGDEi3bt3T0tLS6ZMmZJzzjknO++8c5svTwYAAAAAwLpDbGGd1rdv39btpTerX5llzzBZ9nlL1dfX58gjj8zPfvazTJ06NU8++WTOP//8fOxjH0uS3Hnnnfm3f/u3Dxx72223zfe+973ceeedmT59em655ZZ86UtfSm1tbd5666185StfWe4+MQAAAAAArD/EFtZp22+/fev2o48+usp9H3vssQ983spstdVWOfnkk3Pfffe1nuly0003fejzNthgg+yzzz659NJL88Mf/jBJ8u677670UmQAAAAAAKzbxBbWabvsskvrze2vvfbald7QfuHCha2hZNttt82mm2662sfYcMMN84lPfCJJMm/evDbNb++9927dbutzAQAAAABYN4gtrNPq6ury5S9/OUnyzDPP5Ec/+tEK+7S0tORb3/pWa+w46aSTlnv8zjvvXOUlvhYsWNB6VswWW2zR+vnXX389v//971d5L5i77rqrdXvLLbf88C8IAAAAAIB1TtdqTwA+yJNPPplrrrnmQ/cbNWpUvvvd72b8+PF58cUXc+6552bKlCk55phjMnDgwLz88su5/PLLM2HChCTJ8OHDc/zxxy83xo033pgxY8Zkn332yac//elsv/326du3bxYuXJhnnnkml19+eWbOnJkkGTt2bOvzFi5cmKOOOipbbLFFDjjggAwbNiybb755unbtmtmzZ+e2227LVVddlSQZNGhQRo8evba+PQAAAAAAdCBiCx3S73//+/z+97//0P0uvfTSfOlLX8r48eNz6KGH5tlnn8348eMzfvz4FfYdOXJkbrjhhtTW1q7w2KJFi3L77bfn9ttvX+mxTjzxxJx88skrfP7ll1/OxRdfvNLnbbbZZrnhhhvSo0ePD/16AAAAAABY94gta8lT/7JXtafQqW2xxRaZOHFirrzyytx8882ZMmVKFi5cmL59+2bnnXfOmDFjMmbMmHTpsuKV884999zst99+ueeee/KXv/wls2fPzty5c1NbW5tBgwZlxIgROfbYYzNq1KjlnjdkyJD86U9/yt133537778/L774YubMmZO33norvXv3znbbbZfRo0fn+OOPT69evdrrWwEAAAAAQDsTW+gw9thjjyxcuHCNn9+9e/eceOKJOfHEE9v0vD59+uSggw7KQQcd1Kbn1dTUZMcdd8yOO+6Yb3zjG216LgAAAAAA648V/5k/AAAAAAAAq01sAQAAAAAAKCC2AAAAAAAAFBBbAAAAAAAACogtAAAAAAAABcQWAAAAAACAAmILAAAAAABAAbEFAAAAAACggNgCAAAAAABQQGwBAAAAAAAoILYAAAAAAAAUEFsAAAAAAAAKiC0AAAAAAAAFxBYAAAAAAIACYgsAAAAAAEABsQUAAAAAAKCA2AIAAAAAAFBAbAEAAAAAACggtgAAAAAAABQQW+h0zj777PTq1Su9evWq9lQAAAAAAFgPdK32BNYXPf99ULWnUFFvnT6jYmMvWbIkm2++eRYuXJidd945DzzwwEr3bWlpyRZbbJH58+cnSX7605/my1/+8kr3/+1vf5vjjjsuSXLOOefk61//+lqdOwAAAAAAOLOFqqutrc2IESOSJJMnT86CBQtWuu8zzzzTGlqS5MEHH1zl2H/6059atz/1qU8VzhQAAAAAAFYkttAh7LbbbkmS5ubmPPzwwyvdb2k8qa2tTZJMnDhxleMu3X/DDTfMjjvumCQ588wzs3DhwixcuLB43gAAAAAAILbQISx71smqzlZZGk8OOeSQJMmLL76YmTNnfuC+b7zxRqZMmZIkGTlyZGugAQAAAACAtUlsoUPYddddU19fn2T5S3+939LHDjjggPzN3/zNKvefOHFimpubk/zPmTMAAAAAALC2iS10CN27d8+uu+6aJPnzn/+choaGFfZ5+eWXM2PGjCTJqFGjMmrUqCQrPxNmZfdrOfvss9OrV6/06tXrA583dOjQ9OrVKyeddFKS5L//+79z6qmnZujQodl4443z0Y9+NEcffXQmTZq0Bl8pAAAAAADrG7GFDmNpEGlqasqjjz66wuNL48lWW22VgQMHtsaWlZ3ZsjTCbLDBBvnEJz6xRnP6v//3/2bPPffMVVddlVdeeSVNTU2ZM2dObr311nzuc5/Lb3/72zUaFwAAAACA9YfYQofxYfdtWRpVRo4cmSStseWZZ57J66+/vty+7777bh5//PEkybBhw9K9e/c2z+fpp5/O2LFjs8kmm+THP/5x7r777tx1110588wzU19fnyVLluQf/uEfMmfOnDaPDQAAAADA+kNsocMYPnx4unXrluSDz1ZZ+rml91/ZeuutM2DAgLS0tGTixInL7fvII49k0aJFSZaPOG3xxBNPZLvttssDDzyQE088McOGDcvw4cNzxhln5OKLL06SvPnmm7nhhhvWaHwAAAAAANYPYgsdRo8ePbLzzjsnSSZNmpTFixe3PjZnzpw8++yzSZa/2f3Ss1zefybMyu7X0laXXHJJevfuvcLnx4wZk4EDB65wLAAAAAAAOh+xhQ5laRh566238sQTT7R+fumZK/369cs222zT+vmllxJ7/5ktS+NL9+7dM3z48DWay9ChQ7PDDjt84GM1NTXZaaedkiQvvfTSGo0PAAAAAMD6QWyhQ1n2rJVlz1ZZevbI0rjy/v0ff/zxvP3220mSxYsX55FHHkmS7LLLLtlggw3WaC7LRp0PstFGGyV5LwwBAAAAANB5iS10KLvttlu6dHnvx3LZy3MtPXPl/bFlp512Ss+ePbN48eJMmjQpyfLhpeQSYh8WaWpqapIkS5YsWeNjAAAAAACw7hNb6FD69OmT7bffPsl7gaWlpWW5S4ote+ZLktTW1mbYsGFJ/udMmGXPiCmJLQAAAAAAsDrEFjqcpYHk9ddfz9SpU/Pwww9nyZIl6dGjR3beeecV9l96tsvSM2GW/m9tbW1GjhzZTrMGAAAAAKCzElvocJY9G+XBBx9sjSfDhg1L165dV9h/aWx59NFH09jYmIceeihJsuOOO2bDDTdshxkDAAAAANCZrfjONVTZsrHlT3/6U2bNmpVkxfu1LLU0wrz77rv51a9+lddff32FcQAAAAAAoFKc2UKHs8kmm+RjH/tYkmTChAl57LHHkqx4v5alevTokZ122ilJ8h//8R+tn1/Z/gAAAAAAsDaJLXRIS89KmT17dt5999107do1w4YNW+n+S896efHFF5MkNTU1YgsAAAAAAO1CbKFDev8lwHbeeef06NFjpfu//xJjf/u3f5t+/fpVZG4AAAAAALAs92xZS946fUa1p7Be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", "text/plain": [ "
    " ] }, "metadata": { "image/png": { "height": 636, "width": 813 } }, "output_type": "display_data" } ], "source": [ "results_by_surface.plot(kind=\"bar\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can even filter to e.g. select opponents who Williams faced at least twice" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    ResultLossWin
    Opponents
    Agnieszka RadwańskaNaN1.0
    Angelique Kerber2.01.0
    Bianca Andreescu1.0NaN
    Caroline WozniackiNaN1.0
    Dinara SafinaNaN1.0
    Garbiñe Muguruza1.01.0
    Jelena JankovićNaN1.0
    Justine HeninNaN1.0
    Lindsay DavenportNaN1.0
    Lucie ŠafářováNaN1.0
    Maria Sharapova1.03.0
    Martina HingisNaN1.0
    Naomi Osaka1.0NaN
    Samantha Stosur1.0NaN
    Simona Halep1.0NaN
    Venus Williams2.07.0
    Vera ZvonarevaNaN1.0
    Victoria AzarenkaNaN2.0
    \n", "
    " ], "text/plain": [ "Result Loss Win\n", "Opponents \n", "Agnieszka Radwańska NaN 1.0\n", "Angelique Kerber 2.0 1.0\n", "Bianca Andreescu 1.0 NaN\n", "Caroline Wozniacki NaN 1.0\n", "Dinara Safina NaN 1.0\n", "Garbiñe Muguruza 1.0 1.0\n", "Jelena Janković NaN 1.0\n", "Justine Henin NaN 1.0\n", "Lindsay Davenport NaN 1.0\n", "Lucie Šafářová NaN 1.0\n", "Maria Sharapova 1.0 3.0\n", "Martina Hingis NaN 1.0\n", "Naomi Osaka 1.0 NaN\n", "Samantha Stosur 1.0 NaN\n", "Simona Halep 1.0 NaN\n", "Venus Williams 2.0 7.0\n", "Vera Zvonareva NaN 1.0\n", "Victoria Azarenka NaN 2.0" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results_by_op = df.groupby([\"Opponents\", \"Result\"]).Tournament.count().unstack()\n", "results_by_op" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    ResultLossWin
    Opponents
    Agnieszka Radwańska0.01.0
    Angelique Kerber2.01.0
    Bianca Andreescu1.00.0
    Caroline Wozniacki0.01.0
    Dinara Safina0.01.0
    Garbiñe Muguruza1.01.0
    Jelena Janković0.01.0
    Justine Henin0.01.0
    Lindsay Davenport0.01.0
    Lucie Šafářová0.01.0
    Maria Sharapova1.03.0
    Martina Hingis0.01.0
    Naomi Osaka1.00.0
    Samantha Stosur1.00.0
    Simona Halep1.00.0
    Venus Williams2.07.0
    Vera Zvonareva0.01.0
    Victoria Azarenka0.02.0
    \n", "
    " ], "text/plain": [ "Result Loss Win\n", "Opponents \n", "Agnieszka Radwańska 0.0 1.0\n", "Angelique Kerber 2.0 1.0\n", "Bianca Andreescu 1.0 0.0\n", "Caroline Wozniacki 0.0 1.0\n", "Dinara Safina 0.0 1.0\n", "Garbiñe Muguruza 1.0 1.0\n", "Jelena Janković 0.0 1.0\n", "Justine Henin 0.0 1.0\n", "Lindsay Davenport 0.0 1.0\n", "Lucie Šafářová 0.0 1.0\n", "Maria Sharapova 1.0 3.0\n", "Martina Hingis 0.0 1.0\n", "Naomi Osaka 1.0 0.0\n", "Samantha Stosur 1.0 0.0\n", "Simona Halep 1.0 0.0\n", "Venus Williams 2.0 7.0\n", "Vera Zvonareva 0.0 1.0\n", "Victoria Azarenka 0.0 2.0" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# we can exclude opponents only met once:\n", "results_by_op = results_by_op.fillna(0)\n", "results_by_op" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Opponents\n", "Agnieszka Radwańska False\n", "Angelique Kerber True\n", "Bianca Andreescu False\n", "Caroline Wozniacki False\n", "Dinara Safina False\n", "Garbiñe Muguruza True\n", "Jelena Janković False\n", "Justine Henin False\n", "Lindsay Davenport False\n", "Lucie Šafářová False\n", "Maria Sharapova True\n", "Martina Hingis False\n", "Naomi Osaka False\n", "Samantha Stosur False\n", "Simona Halep False\n", "Venus Williams True\n", "Vera Zvonareva False\n", "Victoria Azarenka True\n", "dtype: bool" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(results_by_op.Win + results_by_op.Loss) > 1" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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6U8nSX7wgx/kH/7hH9Y5jo0TWwAAAAAAeF373ve+V9n+0Ic+tNa+hx56KBdccEGS5Itf/GK++tWvrrX/7W9/e4455picdtppueaaa/Jv//Zv+fCHP5ztt98+yau3D/vd736XJDnrrLPWe+XK+973vnz5y1/Oiy++uAU/q9fWq1ev7Lnnnlm0aFHlY7vsskv23HPPTp1Hd1C1Z7Yceuihqaur69CfO++8s1rTAQAAAACAikWLFuXee+/N0UcfnWuvvTZJMnr06BxzzDFrHfed73wnbW1tefvb355/+Zd/We9YPXr0yAUXXJCGhoYsW7Ysv/nNbyr7Fi9enBUrViRJDjjggI3OacCAAQWfEbVUtdjSUT169Mhb3vKWWk8DAAAAAIBu6Lzzzlvroe+77LJL3vve9+bmm29Oz5498+EPfzjXX399evXqVXnNihUrcssttyRJjjzyyNTV1W1w/O23377ycPpp06ZVPj5gwID07t07SXLNNdes88wXuoeq3Ubspz/9aV5++eWNHjNjxowcd9xxSZJ3vvOdGTp0aLWmAwAAAAAA6/XmN785n/vc57Lddtut9fHHH388r7zySpLk61//er7+9a9v0njPP/98ZbuhoSFHH310rr766vzmN7/JH//4x0yYMCEHHXRQxo4dm379+m2xz4PaqVpseeMb3/iax1x55ZWV7Y997GPVmgoAAAAAAK9zkyZNyic/+ckkycqVKzNv3rz87ne/y5VXXpnHH38848ePz6233prddtut8poFCxZs1rmWL1++1t//9//+3/nb3/6Wm266Kc8991y++93v5rvf/W7q6+vztre9LRMmTMjJJ5+8Tuyh66habHktbW1t+dnPfpYk2XbbbXPUUUfVaioAAAAAAHRzgwcPXuvB7/vss0/e+973Zvz48TnuuOOyePHinHLKKbnzzjtTX1+fJFm1alXl+G9+85t597vfvUnn2mabbdb6+3bbbZdf/vKXefDBB3PddddlypQpmT59elatWpWHHnooDz30UL773e/m6quvzpgxY7bAZ0tnq1lsue222zJnzpwkyTHHHLPOmw8AAAAAAKrtfe97X0455ZT86Ec/ysMPP5yrrroqJ510UpK1H1i/YsWKtWLN5thvv/2y3377JUmWLVuWKVOm5KqrrsoNN9yQBQsW5KMf/Wj+/Oc/p0+fPpXX9Ojx6qPX29vbNzr26tudURs9anXiK664orLtFmIAAAAAANTKV77ylfTt2zdJcv7556e1tTVJsscee1Qebn/77bdv0XM2NTXl8MMPz89//vOcfvrpSZL58+dn6tSpax237bbbJkkWL1680fFmzpy52XOpq6vb7NfyqprElpdeeinXX399kmTEiBE59NBDazENAAAAAADI4MGDc/LJJydJZs+eXXkExjbbbFP5/fWUKVPy4IMPVuX8hxxySGV70aJFa+3beeedkySPPPLIBq9umTFjRh599NHNPn9DQ0Nlu6WlZbPHeT2ryW3Efv3rX+fll19Okpx44ombXc1mz5690f3z5s2rbLe0tKS5uXmzzgOvZc33lvcZ0B1Y14DuxroGdDfWNWBr0NbWlvb29rS3t6etra14rPVtl1pzrNea52c+85lceumlaW5uzre//e189KMfTX19fb7whS/klltuSXt7ez7+8Y/nN7/5Td70pjetd4xVq1bluuuuy/7775+hQ4cmSZ5++unMmTMnBx544AbPfdttt1W2R4wYsdY8DzjggNx4442ZN29efvnLX+bYY49d67XLli2rXBmzvs/7763v67DDDjtUtv/617/mH//xHzf4+q3Jmu+/Tf1+WK2YVJPYsqVuITZ8+PBNPnbq1KkZNGjQZp8LNtV9991X6ykAbFHWNaC7sa4B3Y11DaiVgQMHprGxMQ0NDVm2bNkWG3f1/1B/S1jzOSYtLS0bnec222yT4447LpdffnmeeeaZXHHFFTnmmGMycuTIfO5zn8t3vvOdPPvssznwwAPz4Q9/OAcffHB23HHHtLS0ZPbs2XnooYdy44035vnnn8+tt96a7bbbLknyxBNPZOLEidltt93yvve9L/vss0/e8IY3JEnmzp2bG264ITfccEOSZK+99spb3/rWteb5/ve/P+edd16WLVuWM844I4899lgOOeSQ1NXV5c9//nP+8z//M/Pnz89ee+2Vv/zlL2lra9vo57m+r8P222+fIUOGZN68efne976X/v37Z9ddd019fX2SV6/8WX07s63JypUrKxdaPPHEE5v0moULF1ZlLp0eW2bPnp0777wzSTJ27NjstttunT0FAAAAAABYxxlnnJGrr746ra2tueiii3LUUUelR48e+cIXvpB+/frlvPPOy8svv5wf//jH+fGPf7zeMXr37r3WbblWe+KJJzYaBN7ylrfkRz/60Tp3gho4cGAuuOCCnHHGGWlpacmFF16YCy+8sLK/oaEh3/3ud3PbbbflL3/5y2Z+5slZZ52Vc845J88991xOOeWUtfZ9+9vfzsSJEzd77NeDTo8tV111VeUSpZNOOqlorFmzZm10/7x58zJ69Ogkybhx4yqXbcGW1tzcXPlfEo0dOzaNjY01nhFAGesa0N1Y14DuZs117eDHv5bGlUtqPKOupfXMR2o9BegW5s6dm1WrVqW+vj5NTU1FY7W1tVWuaOnbt2969NgyjxvfZpttKtsNDQ2vOc+3vvWtOf7443P55ZfnySefzO23354JEyYkST7/+c/nuOOOy09/+tPccccdeeqpp7JkyZI0NDRkyJAh2XPPPXPYYYflyCOPzMCBAytjvutd78qtt96aO+64I1OmTMns2bOzYMGCNDc3p3///tlrr73ywQ9+MCeccEJ69+693nkdf/zx2W233fLtb3879913X5YuXZoddtghBx98cD7zmc9kjz32yN13350k6dGjx0Y/zw19Hc4444wMHz48P/3pTzN9+vQsXrw4K1euTJI0NjYW//+4GpYuXZq6urr07ds3e++99ya9Zs6cOVWZS137hp6oUyUjR47MjBkz0tDQkHnz5qV///5VO9fs2bMrtxp78sknM2zYsKqdi9e35ubmyhVbhx56qH+8A12edQ3obqxrQHez5rr2nr98Nn1WLK7thLqYlq+8UOspQLfwzDPPZOXKlamvry/+3euat75qamraYrGF7m327NlZtWpVevbsmV122WWTX/PmN785yasXdGypbtCp79gHH3wwM2bMSJJ84AMfqGpoAQAAAAAA6AydGluuuOKKynbpLcQAAAAAAAC2Bp0WW1asWJFrrrkmSTJ48OCMHz++s04NAAAAAABQNZ0WW2666aYsWLAgSfKRj3wkPXv27KxTAwAAAAAAVE2nxZY1byH2sY99rLNOCwAAAAAAUFWdElsWL16cyZMnJ0n22muvvOMd7+iM0wIAAAAAAFRdp8SWX/ziF2lpaUniqhYAAAAAAKB76ZTYcuWVVyZJ6uvrc8IJJ3TGKQEAAAAAADpFpzyl/p577umM0wAAAAAAAHS6TrmyBQAAAAAAoLsSWwAAAAAAAAqILQAAAAAAAAXEFgAAAAAAgAJiCwAAAAAAQAGxBQAAAAAAoIDYAgAAAAAAUEBsAQAAAAAAKCC2AAAAAAAAFBBbAAAAAAAACogtAAAAAAAABcQWAAAAAADoAqZMmZKmpqY0NTXl3HPPrfV0WEPPWk8AAAAAAIDub69v3lXrKVTVX/7lkFpPgRpyZQsAAAAAAEABsQUAAAAAAKCA2AIAAAAAAFDAM1sAAAAAAOB1oLW1NZdffnmuv/76zJgxI0uXLk3//v3ztre9Lccee2wmTpyYHj02fI3GzJkzc8kll+Tuu+/Oc889l9bW1gwcODCDBw/Ovvvum3e96135wAc+kIaGhrVet2rVqlx99dX51a9+lenTp2fx4sXZZpttMmjQoAwbNiyHHHJIjjjiiOy+++7V/hJUjdgCAAAAAADd3HPPPZejjjoq//Vf/7XWx1944YXcfPPNufnmm/OTn/wk11xzTQYMGLDO66+//vpMmjQpra2ta318/vz5mT9/fqZPn56rrroq999/f/bcc8/K/pdeeilHH3107r333rVet2TJkixZsiR//etfc9ddd+WRRx7JVVddtQU/484ltgAAAAAAQDf20ksv5QMf+ECefvrpJMkHPvCBnHjiiRkyZEieffbZXHLJJfnDH/6QqVOn5thjj83NN9+c+vr6yutfeOGFnH766Wltbc3gwYNz2mmnZdSoURk4cGCam5vzzDPP5J577slvf/vbdc597rnnVkLL+973vhx33HEZNmxYGhsbs3DhwkyfPj2///3vU1dX1zlfjCoRWwAAAAAAoBs777zzKqHli1/8Yr761a9W9r397W/PkUcemU9+8pP5xS9+kWnTpuWnP/1pJk2aVDnm97//fV5++eUkyeTJk9e6ciVJxowZk+OOOy7//u//nvb29rX2XX/99UmSD33oQ7nyyivXmdu73vWufP7zn8+LL764ZT7ZGtnwzdcAAAAAAIAuraWlJVdccUWSZPfdd88555yzzjF1dXX59re/Xbl92CWXXLLW/ueffz5J0r9//3VCy5oaGxvTp0+f9b52//333+g813frsq5EbAEAAAAAgG7qT3/6U/72t78lSU444YS1bg+2pu222y5HHXVUkuTxxx/P/PnzK/ve8IY3JEkWL16cyZMnd+j8q1/761//Oq+88kpHp99liC0AAAAAANBNzZgxo7K93377bfTYNfev+brDDz8822+/fZLkIx/5SN7//vfnoosuyp/+9KesWrVqo2N+5CMfSZLcf//92WuvvfKFL3whv/3tb7NgwYKOfipbNbEFAAAAAAC6qcWLF1e2d9hhh40eu+OOO673dQMHDsw111yTnXbaKe3t7bn77rvzla98JQcffHBGjBiRE044ITfddNN6x/zSl76UE088MXV1dVmwYEH+8z//MyeccEJ23XXXjBkzJv/rf/2vvPDCC4WfZe2JLQAAAAAA8DpQV1e30f1//3D7NR1wwAF55JFHcumll2bixIkZOnRokmTp0qX57W9/m4kTJ2bChAnr3CqsV69e+cEPfpBp06bli1/8YsaMGZPevXunvb09M2bMyPnnn5999923w7cn29qILQAAAAAA0E3179+/sr36YfUbsuYVJmu+brXGxsYcd9xx+fGPf5zHH388f/7zn3PBBRfkzW9+c5Lk1ltvzb/927+td+zdd989X/3qV3Prrbdm9uzZ+e1vf5uPfvSjqa+vz0svvZRPfOITaz0npqsRWwAAAAAAoJvac889K9sPPvjgRo996KGH1vu6DXnjG9+YT33qU7nrrrsqV7pcd911r/m6Pn365LDDDsvFF1+cb37zm0mS5cuXb/BWZF2B2AIAAAAAAN3U29/+9srD7X/+859v8IH2y5Ytq4SS3XffPW94wxs2+Rzbbbdd3vGOdyRJFi1a1KH5HXrooZXtjr52ayK2AAAAAABAN9XQ0JCPfexjSZLHHnss55133jrHtLe35wtf+EIldpx22mlr7b/11ls3eouvJUuWVK6K2XnnnSsff/HFF3PjjTdu9Fkwt912W2V7l112ee1PaCvVs9YTAAAAAAAAOubPf/5zrrrqqtc8bty4cfnyl7+cG264IU8//XS+9a1vZcaMGTnxxBMzZMiQPPvss7nkkksyZcqUJMno0aNz8sknrzXGtddem4kTJ+awww7LO9/5zuy5557p379/li1blsceeyyXXHJJ5s6dmySZNGlS5XXLli3Lhz/84ey888454ogjMmrUqAwfPjw9e/bM/Pnzc9NNN+Xyyy9PkgwdOjTjx4/fUl+eTie2AAAAAABAF3PjjTfmxhtvfM3jLr744nz0ox/NDTfckKOOOipPPPFEbrjhhtxwww3rHDt27Nj84he/SH19/Tr7VqxYkZtvvjk333zzBs916qmn5lOf+tQ6H3/22Wdz0UUXbfB1O+20U37xi1+kb9++r/n5bK3EFgAAAAAA6OZ23nnnTJ06NZdddlmuv/76zJgxI8uWLUv//v2z7777ZuLEiZk4cWJ69Fj36SPf+ta3cvjhh+eOO+7In/70p8yfPz8LFy5MfX19hg4dmjFjxuSkk07KuHHj1nrdiBEjcu+99+b222/P3XffnaeffjoLFizISy+9lH79+mWPPfbI+PHjc/LJJ6epqamzvhRVIbYAAAAAAFB1f/mXQza4r62tLcuWLUuSNDU1rfcX/iQHHXRQ5eu0OXr37p1TTz01p556aodet/322+fII4/MkUce2aHX1dXVZe+9987ee++dz372sx16bVfjHQsAAAAAAFBAbAEAAAAAACggtgAAAAAAABQQWwAAAAAAAAqILQAAAAAAAAXEFgAAAAAAgAJiCwAAAAAAQAGxBQAAAAAAoIDYAgAAAAAAUEBsAQAAAAAAKCC2AAAAAAAAFBBbAAAAAAAACogtAAAAAAAABcQWAAAAAACAAmILAAAAAABAAbEFAAAAAACggNgCAAAAAABQQGwBAAAAAAAoILYAAAAAAAAUEFsAAAAAAICKc889N01NTWlqaqr1VLoMsQUAAAAAALZiq1atyk477ZSmpqYceOCBGz22vb09I0aMqMSSK664YqPH//rXv64c+x//8R9bctqvKz1rPQEAAAAAALq/bf/30I3u366T5lEtL509p2pj19fXZ8yYMbn11lszffr0LFmyJP369VvvsY899lgWL15c+fs999yTj33sYxsc+957761sH3DAAVtu0q8zrmwBAAAAAICt3P77758kaWtry/3337/B41bHk/r6+iTJ1KlTNzru6uO322677L333kmSc845J8uWLcuyZcuK5/16IbYAAAAAAMBWbs2rTu65554NHrc6nkyYMCFJ8vTTT2fu3LnrPfZvf/tbZsyYkSQZO3ZsJdDQcWILAAAAAABs5fbbb780NjYmWfvWX39v9b4jjjgib3nLWzZ6/NSpU9PW1pbkv6+cYfOILQAAAAAAsJXr3bt39ttvvyTJH//4xzQ3N69zzLPPPps5c159dsy4ceMybty4JBu+EmZDz2s599xz09TUlKampvW+buTIkWlqasppp52WJPmv//qvnHnmmRk5cmQGDhyYN73pTTn++OMzbdq0zfhMuyaxBQAAAAAAuoDVQaS1tTUPPvjgOvtXx5M3vvGNGTJkSCW2bOjKltURpk+fPnnHO96xWXP6v//3/+bggw/O5Zdfnueeey6tra1ZsGBBJk+enPe85z359a9/vVnjdjViCwAAAAAAdAGv9dyW1VFl7NixSVKJLY899lhefPHFtY5dvnx5Hn744STJqFGj0rt37w7P59FHH82kSZOyww475MILL8ztt9+e2267Leecc04aGxuzatWqfOYzn8mCBQs6PHZXI7YAAAAAAEAXMHr06PTq1SvJ+q9WWf2x1c9f2XXXXbPjjjumvb09U6dOXevYBx54ICtWrEiydsTpiEceeSR77LFH/vCHP+TUU0/NqFGjMnr06HzlK1/JRRddlCRZunRpfvGLX2zW+F2J2AIAAAAAAF1A3759s++++yZJpk2blpUrV1b2LViwIE888USStR92v/oql7+/EmZDz2vpqB/84Afp16/fOh+fOHFihgwZss65uiuxBQAAAAAAuojVYeSll17KI488Uvn46itXBg0alN12263y8dW3Evv7K1tWx5fevXtn9OjRmzWXkSNHZq+99lrvvrq6uuyzzz5JkmeeeWazxu9KxBYAAAAAAOgi1rxqZc2rVVZfPbI6rvz98Q8//HBefvnlJMnKlSvzwAMPJEne/va3p0+fPps1lzWjzvoMGDAgyathqLsTWwAAAAAAoIvYf//906PHq7/aX/P2XKuvXPn72LLPPvtk2223zcqVKzNt2rQka4eXkluIvVakqaurS5KsWrVqs8/RVYgtAAAAAADQRWy//fbZc889k7waWNrb29e6pdiaV74kSX19fUaNGpXkv6+EWfOKmJLYwn8TWwAAAAAAoAtZHUhefPHFPP7447n//vuzatWq9O3bN/vuu+86x6++2mX1lTCr/299fX3Gjh3bSbPu3sQWAAAAAADoQta8GuWee+6pxJNRo0alZ8+e6xy/OrY8+OCDaWlpyX333Zck2XvvvbPddtt1woy7v3W/6gAAAAAAwFZrzdhy7733Zt68eUnWfV7LaqsjzPLly/Ozn/0sL7744jrjUMaVLQAAAAAA0IXssMMOefOb35wkmTJlSh566KEk6z6vZbW+fftmn332SZL8n//zfyof39DxdJzYAgAAAAAAXczqq1Lmz5+f5cuXp2fPnhk1atQGj1991cvTTz+dJKmrqxNbtiCxBQAAAAAAupi/vwXYvvvum759+27w+L+/xdhb3/rWDBo0qCpzez0SWwAAAAAAoIv5+9gyduzYjR7/91exeF7LltWz1hMAAAAAAKD7e+nsORvc19bWlmXLliVJmpqa0qOH6wRey4gRIypfs00xePDgTT7+nHPOyTnnnLPB/Y8++ugmjXPJJZfkkksu2aRjuzrvWAAAAAAAgAJiCwAAAAAAQAGxBQAAAAAAoIDYAgAAAAAAUEBsAQAAAAAAKCC2AAAAAAAAFBBbAAAAAAAACogtAAAAAAAABcQWAAAAAACAAmILAAAAAABAAbEFAAAAAIDN1t7eXusp8Dq1Nb33xBYAAAAAADqsR49Xf73c1ta2Vf3Sm9eH9vb2yvtu9Xuxlmo/AwAAAAAAupzevXsnefWX3s3NzTWeDa83K1asSFtbW5KkV69eNZ6N2AIAAAAAwGbo27dvZXvZsmWubqFTvfzyy5XtbbbZpoYzeZXYAgAAAABAh/Xt2zc9evRIXV1dXnnllSxYsCDLly8XXaiqtra2LFmyJEuXLk1dXV2SpE+fPjWeVdKz1hMAAAAAAKDr6dGjR3bcccfMnz8/SfLKK6/klVdeSV1dXSXCbKr29vasXLkySdb6JTqsqb29vfKMoNXvkQEDBlRuaVdLYgsAAAAAAJulb9++ecMb3pDnn3++8vyMJGttb4r29va0tLQkSerq6sQWNmr1+6OpqSn9+/ev8WxeJbYAAAAAALDZ+vbtm1122SUvv/xyXn755bS2tnY4trS1taW5ubkyXo8enoDB+tXX16exsTHbbbddGhoaaj2dCrEFAAAAAIAiPXr0SFNTU5qamjbr9c3NzXniiSeSJHvvvXcaGxu35PSg6uRBAAAAAACAAmILAAAAAABAAbEFAAAAAACggNgCAAAAAABQQGwBAAAAAAAoILYAAAAAAAAUEFsAAAAAAAAKiC0AAAAAAAAFxBYAAAAAAIACYgsAAAAAAEABsQUAAAAAAKCA2AIAAAAAAFBAbAEAAAAAACggtgAAAAAAABTotNiycOHC/Pu//3sOOOCAvOENb0hDQ0N22mmnjBkzJv/0T/+UqVOndtZUAAAAAAAAtpienXGSa6+9NqeffnoWLVq01sfnzZuXefPmZdq0aZk5c2Z+85vfdMZ0AAAAAAAAtpiqx5YrrrgiJ598ctra2rLDDjvk9NNPz4EHHpgBAwZk/vz5+etf/5obbrghvXr1qvZUAAAAAAAAtriqxpbHHnssp556atra2nLQQQflhhtuSL9+/dY57qyzzkpra2s1pwIAAAAAAFAVVX1my1lnnZWWlpYMGjQo11133XpDy2q9e/eu5lQAAAAAAACqomqx5fHHH89tt92WJDnzzDMzaNCgap0KAAAAAACgZqoWW6699trK9rHHHlvZXrx4cWbOnJlFixZV69QAAAAAAACdpmqx5b777kuS9OvXL3vssUd+9rOfZd99982AAQOy2267ZdCgQXnTm96Ub3zjG3nppZeqNQ0AAAAAAICq6lmtgWfMmJEk2WWXXXLWWWflP/7jP9Y55umnn87Xv/71/OpXv8r/+3//LzvttFOHzjF79uyN7p83b15lu6WlJc3NzR0aHzbVmu8t7zOgO7CuAd2NdQ3obtZa13pu+Bm5rF+r7wWw1fHzGp2lpaWlKuPWtbe3t1dj4H79+mXp0qVpaGhIS0tLtt9++5x//vk56qijst1222X69On52te+lptuuilJsv/++2fKlCnp0WPTL7apq6vb5GMvvfRSz40BAAAAAIDXsYULF2bSpElJklmzZmXYsGFbZNyq3Ubs5ZdfTvJqJaqvr89NN92U0047LYMHD05DQ0P222+/TJ48OePHj0+S3HvvvbnuuuuqNR0AAAAAAICqqNptxBobGyvB5dhjj83YsWPXOaZHjx654IILKle3XH311TnmmGM2+RyzZs3a6P558+Zl9OjRSZJx48Zl6NChmzw2dERzc3PlOUVjx45NY2NjjWcEUMa6BnQ31jWgu1lzXTv48a+lceWSGs+oa2k985FaTwH4O35eo7PMmTOnKuNWLbY0NTVVYsvqq1fWZ+TIkRk6dGjmzJmTBx54oEPn6MjlPQ0NDf4DpVM0NjZ6rwHdinUN6G6sa0B307hySfqsWFzraXQpPXwfgK2an9eopoaGhqqMW7XbiA0fPryy/VpRZPWxL7zwQrWmAwAAAAAAUBVViy0jR46sbK9atWqjx67e37Nn1S60AQAAAAAAqIqqxZaDDz64sv3Xv/51o8c+9dRTSeKZKgAAAAAAQJdTtdjywQ9+ML169UqSXHfddRs87q677sqiRYuSJAcddFC1pgMAAAAAAFAVVYstAwcOzKRJk5Ikt9xyS6655pp1jlm2bFk+97nPVf5+2mmnVWs6AAAAAAAAVVG12JIk3/jGNzJixIgkyYknnpizzjor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66+/ZmFSIPVS1xwPuIeVK1dO0vXdKq5avHixJCXZ8QIA2Un79u1lWZY2bdqkunXravv27XZHAoA0CQsL07Zt2/Tyyy+rZMmSsixLly9f1pw5cxQQECBfX189++yzWrdund1RAcAlhw4dkjFGr7/+OoUWAHeFESNG6JVXXpFlWRo1apSzTfXN/vjjD7Vr107nzp2Tj4+Pli9frjp16mRxWiB1KLYALmrbtq0sy9LkyZMVHx+f4vgtW7YoODhYxhi1b98+CxICQNqMHTtWn3/+udzd3XXs2DE1btxYc+fOtTsWAKRJ9erV9eGHH+ro0aNatWqVBg8erIIFC8qyLEVFRWny5Mlq3ry5ypQpozfeeEN//fWX3ZEBIFkJXRISzgMFgLvBmDFjNGjQIFmWpRdeeEHff/99oud///13tW/fXufPn1ehQoW0YsUK1apVy6a0gOsotgAuGjJkiPLkyaOdO3dq8ODBio2NTXbs3Llz1b59e127dk358+fXU089lYVJASD1nn/+ef3yyy/y9vZWTEyMevToodGjR9sdCwDSpVmzZpo0aZLCw8M1f/58de/eXbly5ZJlWTp27JjGjBmj6tWrq1q1avrwww/tjgsASSScF3r48GF7gwBABps8ebK6dOmi+Ph49e/fX7/88oskad26derQoYMuXLigwoULa8WKFapRo4a9YQEXGcuyLLtDAHeKqVOnavDgwTLGqESJEnrkkUc0ceJEGWM0bNgwxcTEaMWKFTp48KAsy5IxRt9//726d+9ud3QASCLhYMKdO3c62x3u27dPjzzyiPbu3StjjLp166YZM2Yod+7ckq636KlataqMMYqLi7MzPgCkyaVLlzR37lzNnDlTq1atct7LuK8ByI5+/vlnderUSR07dtRPP/1kdxwAyFCxsbHq0KGDVq5cKU9PT73zzjt6++23FR0drSJFimjFihWqWrWq3TEBl1FsAVJp2rRpGjp0qGJiYmSMSfJ8wn9SuXLl0sSJE9W/f/+sjggALrlVsUWSzp8/rx49emj58uUyxqhWrVpauHChSpQoQbEFwF3Dsix99913GjJkiM6dO8d9DUC2NWzYMH322WcaPny4xowZI3d3d7sjAUCGiY6OVqtWrfTnn3/KGCPLslS0aFGtXLlSVapUsTsekCoUW4A0OH78uMaPH69FixZp//79iZ4rWbKkHn30Ub3yyisqW7asPQEBwAXJFVskKT4+XsOGDdMXX3whY4yKFSumBQsWyNPTk2ILgDva1q1bNWvWLH3//fc6deqUJDl3JHNfA5BdjRs3Tm+++aaKFi2qLl26qGLFivL09ExxXmBgYBakA4D0iYqKUtOmTRUWFqZixYrpt99+0wMPPGB3LCDVKLYA6XThwgVFREQoLi5OhQoVUuHChe2OBAAuuV2xJcHkyZP1wgsvKDY2Vrlz59awYcP0wQcf8KUkgDvKgQMHNGvWLM2aNUt79+6V9O9uZC8vLwUEBKhPnz5q06aNnTEB4JZiYmL0/vvv67PPPtOlS5dcnmeMkcPhyMRkAJC8gQMHpmr8yZMntXz5cjVq1Ej333//LccYYzR16tSMiAdkCootAADco1wptkjS6tWr1b17d505c8a5rZtiC4DsLiIiQj/88INmzZqlP//8U9K/BZYcOXKoXbt26tOnjx577DHnuVQAkN3ExMSobdu22rhxo6R/72Ou4P0aADslfN7MKHwOxZ3Aw+4AAAAge2vevLn++OMPPfLII/r777/tjgMAyYqOjta8efM0c+ZM/fbbb84P4wlfTjZs2FB9+/ZVjx495OPjY2dUAHDJuHHjtGHDBklS/fr19fTTT6tatWoqWLCg3NzcbE4HAMkrXbp0hhZbgDsBxRYgjbZs2aIVK1bor7/+0tmzZyVJPj4+8vf3V+vWrVW7dm2bEwLA7U2fPl2SVKpUqRTHVqhQQZs2bdLzzz+vY8eOZXY0AEgTX19fXb58WdK/BZYHH3xQffr0Ue/evTlPD8AdZ9asWTLG6OGHH9aiRYsosAC4Yxw+fNjuCECWo40YkEohISF6/vnnFRIScttxderU0Zdffqk6depkUTIAAIB7W8KXkCVKlFCvXr3Up08f1axZ0+ZUAJB2np6eunr1qpYuXcq5UgAAZHMUW4BUmD17tvr16yeHw+FcLZkzZ075+PjIsixFRUXp2rVrzvE5cuTQt99+q+7du9sVGQAA4J4xcOBA9e3bVy1atKBtBYC7QsmSJRUeHq6QkBCKxwAAZHPsPwVc9Pfff6t///6KjY2Vu7u7nn32WW3evFnR0dE6efKkTp06pejoaIWEhOjZZ5+Vh4eHYmNjFRgYyBkHAAAAWWDatGlq2bIlhRYAd42HHnpIkrR3716bkwAAgJSwswVw0YABAzRjxgzlzp1bP//8s5o3b37b8WvWrNHDDz+sq1evqn///po2bVrWBAUAF40ePTpd80eOHJlBSQAAAHArq1atUuvWrdWwYUOtXbuWYjKAu87Fixd16NAhXbx4UXFxcSmOb9q0aRakAtKGYgvgotKlS+vEiRN69dVX9b///c+lOW+88YY++OADlSpVSkePHs3khACQOm5ubun6wO7KG2EAsEtcXJwWLFigFStW6K+//tLZs2clST4+PvL391fr1q3VuXNnubu725wUAG7vgw8+0BtvvKHu3btr0qRJKliwoN2RACDdvv76a3311VfasWOHy3OMMXI4HJmYCkgfii2Ai/LkyaNr165pzZo1aty4sUtzfv/9dzVp0kS5cuXS5cuXMzkhAKROwkHSrjLG6Ma3DfHx8RkdCQAyxNKlS/XUU0/pxIkTzmsJ968bi8ylSpXS5MmT1a5duyzPCACuSNiJ/PPPP+vPP/9U3rx51aZNG1WsWFGenp4pzmcnMoDsJi4uTl27dtVPP/0kSUrNV9PGGBb9IVuj2AK4KGFny6ZNm1SnTh2X5oSEhKhu3boqWbKkjh07lskJASDjxcTEaM+ePZo5c6Y+//xzPfTQQ5o7d658fX3tjgYAtxQcHKwBAwbIsiznh/eyZcuqWLFisixL//zzj44cOeJ8zs3NTTNmzFCfPn3sjA0At3TzTmTLslK1M5kvJQFkN19++aVeeOEFSZKvr68GDBig2rVry8fHx6UFgc2aNcvsiECaedgdALhTNGrUSLNnz9bmzZtdLrb8+eefkuTyThgAyG48PT1Vs2ZN1axZU48++qjatWundu3a6Y8//lDu3LntjgcAiRw5ckRPPfWU4uPjlTdvXr3++ut68sknVbRo0UTjTp8+rSlTpuj999/XpUuXNHjwYDVp0kSlS5e2KTkAJO/mNbKsmQVwJwsKCpIkVa5cWevWrZO3t7fNiYCMk7r+IcA9bPjw4XJ3d9f//vc/nT59OsXxERERev/995UjRw793//9XxYkBIDM1bRpUz3zzDPauXOnPv30U7vjAEASn376qa5evap8+fJp3bp1euONN5IUWiSpSJEiev3117Vu3Trly5dPV69e5b4GIFuKj49P1w8AZDe7d++WMUZvvfUWhRbcdSi2AC566KGHNGnSJEVERKhevXpasGDBLd+8xsfHa+HChWrQoIFOnz6tCRMm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JEQRERGKi4tToUKFVLNmTVWoUMHuaACQIsuy1L59e61YsUKWZalw4cIqVaqUtm/fLmOMGjdurKioKO3Zs0exsbEyxqhixYoqVqyYJGnVqlU2/wYAkNiXX36pF154QZLk6+urAQMGqHbt2vLx8XGeh3A7tMMGkN2MHj1aklSvXj21a9fO5jRAxqLYAtwk4aaf0UaOHJkprwsAAIDrZs+erV69eskYo5EjR+qtt97Srl27VK1atUQrvKOjozVlyhS99dZbypMnj+bOnavGjRvbnB4AkqpXr542b96sypUra926dfL29rY7EgCki5ubm4wxmj9/vh599FG74wAZimILcJOEm35GY/s2AABA5urcubMWLVqkhg0bav369ZKksLAwVa1a9ZbtdDZv3qxmzZopX7582r59u0qUKGFHbABIVv78+RUdHa1Zs2apZ8+edscBgHQrUqSIzp49qy1btqhGjRp2xwEyVMp7ToF7kGVZGf4DAACAzBUSEiJjjAYPHuzS+IceekjPPvusIiMj9dlnn2VyOgBIu0qVKtkdAQAyxP333y9JCg8PtzkJkPE87A4AZDfx8fF2RwCALBcaGqp169bp4MGDunjxYoq78Ywxmjp1ahalAwDXREZGSpLKly/vvJYjRw7n48uXLytPnjyJ5nTs2FGffPKJFi9erA8++CBrggKAi/z8/LR9+3adPXvW7igAkCF69uypTZs2afbs2Wrfvr3dcYAMRbEFAIB72J49ezRw4ED98ccfLs+xLItiC4BsycPDQ7GxsfLy8nJeu/FxeHi4ypUrl2hOgQIFJEnHjh3LmpAAkAq9evXStm3btHjxYrVs2dLuOACQbs8995xmzJihoKAgNWvWTP3797c7EpBhKLYAAHCXq1mzpu6//34NHjxYbdu2dV4/ceKEmjZtqsjISGe7w3z58snb21tubnQaBXDnKVGihA4cOKDTp087rxUrVkx58uTRlStXtHXr1iTFlv3790uSHA5HlmYFAFcMHTpUM2fO1IQJExQQEKAmTZrYHQkA0iU8PFxTpkzRoEGDNHDgQM2cOVO9e/dWtWrV5O3tLXd399vOL126dBYlBVLPWBwmAQDAXc3X11enT5+WMUYzZ85Ur169JF1fUTRx4kQZYzRo0CC9/PLLqlixos1pASDtunfvrnnz5umjjz7S8OHDnddbtmypNWvWqHnz5lq5cqXzusPhUOPGjfXnn3+qWrVq2r59uw2pAeD2IiIi1KVLF4WEhGjo0KHq3bu3HnjgAeXOndvuaACQam5ubjLGSPq3a4KrjDEskEG2RrEFSIP9+/crKChIGzduVHh4uC5fvqylS5c6D/mSpL/++ktHjx5V3rx51axZMxvTAsD1Q6Pr1q2rDh06aPHixZKun2lw5MgRBQYGavr06TYnBID0mzBhgp5//nm1bt1ay5Ytc17/9ttvFRgYKGOMGjdurB49eigmJkbff/+9tm3bJmOM3n33Xb3xxhs2pgeApG5c4c2XkgDuBunpomCMSfF8UcBOtBEDUiE+Pl6vvvqqxo8fr/j4eGfbHWOMrl27lmjssWPH1KlTJ3l4eOjQoUMqWbKkHZEBQNL1FZGSlD9/fue1kydPSpICAwNtyQQAGS0gIEBDhgzRqlWrdPDgQZUvX16S1LdvX82aNUtLly7V+vXrtX79+kTzatSokWgnDABkFzevj2W9LIA7HQv9cDej2AKkwtNPP61p06bJsiyVLFlSDRo00Jw5c2459uGHH1b58uV16NAhzZkzRy+++GIWpwWA63bv3q0+ffrIzc1Nw4YNc1739vZWRESEChYsaFs2AMhIxYoVU2xsrCzLStLve/78+Xrvvfc0depUhYeHS5IKFiyoPn366L///S/teABkS6NGjbI7AgBkqP79+9sdAcg0tBEDXLR69Wq1bNlSxhi9/vrreuedd+Tu7u7sNblz505Vrlw50ZzXX39dY8aM0aOPPqoFCxbYExzAPa9Vq1ZavXq1hg0bpo8//th5/ZFHHtHPP/+sWbNmqWfPnjYmBICsdfbsWTkcDhUpUiRVLXkAAAAAIDlpb5IH3GMmTpwoSerQoYPee++9JKslb6Vu3bqSpLCwsEzNBgC3ExISIul6e50bDR06VJZlafLkyXbEAgDb+Pj4qGjRohRaAAAAAGQY2ogBLtq4caOMMRo0aJDLc0qVKiVJzlYVAGCHBg0aaNmyZXr88cc1aNAgvf3225KkNm3aaMSIEfrwww/17LPP6rPPPlOOHDnsDQsAAAAAuGf8888/Wr16tf766y+dPXtW0vWFMf7+/mrevLl8fX1tTgi4jjZigIvy5Mmja9euaevWrapevbrz+u3aiG3btk21a9dWzpw5deXKlayODACSpIiICL3wwgtauHChatWqpQ0bNkiSgoKCJEmTJ0/Wxo0bVbx4cXXr1k0PPPCAPD09U3zdwMDATM0NAACAxA4ePKiNGzcqPDxcMTExevbZZ1W4cGG7YwFAqp06dUrDhw/XvHnz5HA4bjnG3d1d3bp108cff6zixYtncUIg9Si2AC7y8fHR+fPntX79ejVo0MB5/XbFloULFyogIEC+vr46depUVkcGgEQsy9KFCxdUoEABSf/ev9LCGJPsG2IAyGwDBw6UdP1eNHXq1CTX0+Lm1wKA7GTbtm0aNmyY1q9fn+j6zZ9Dv/zyS73zzjsqUKCAdu3axa5lANlSaGioWrdurbNnzyqlr6aNMSpUqJBWrlypqlWrZlFCIG0otgAuql27trZv367PP/9czz33nPP67YotgwcP1tSpU9WiRQutXLkyqyMDwG25uaX96DZjjOLi4jIwDQC47sZi8Y33orQWkS3L4r4GINtasmSJunXrpmvXriX6UvJWn0MvXbqk4sWLKyYmRnPmzElyZh8A2C06OlqVKlXSyZMnJUmtW7fW4MGDVa9ePRUrVkzS9Xb8f/75p6ZMmaJly5ZJut6q/++//3apCwNgF85sAVzUtm1bbdu2TZMnT9YzzzyT4peUW7ZsUXBwsIwxat++fRalBADXHTp0yO4IAJAmpUuXvmVRJbnrAHCnCg8P1+OPP66rV6+qSpUqGjt2rBo3biwvL69bjs+XL586d+6sWbNm6ZdffqHYAiDb+eKLL3Ty5Em5ublp0qRJtzwbuXTp0ipdurS6deumadOmafDgwTpx4oS+/PJLvfLKKzakBlzDzhbARSdOnFDFihV15coVPfHEE5o4caJy5Mhxy50tc+fO1TPPPKMzZ86oQIECOnz4sLNtDwAAAAAArnj11Vf10UcfqUyZMtq2bZsKFiwo6fYdFqZOnarBgwerZs2a2rJliw2pASB5DRs21KZNmzRgwABNmTLFpTlPPvmkpk2bpvr16zvPIAWyo7T3DwHuMSVLltRnn30my7L0zTffqHz58onaiU2dOlXPPvus/Pz81KNHD505c0bGGE2ePJlCCwAAAAAg1X799VcZY/TSSy85Cy0pqVSpkiTp8OHDmRcMANJo7969kqRevXq5POfxxx9PNBfIrmgjBqTCoEGDZIzR0KFDdeLECU2aNMnZqmL8+PGS5OyhmytXLk2cOFHdu3e3Ky4AAMA9JSgoSNL1Lxrr1atncxoASL+Etq9169Z1eU5Ci7FLly5lSiYASI+Ee5OPj4/Lc7y9vSVdP+8FyM7Y2QKk0sCBA/X3339r+PDhqlChgizLSvRTsmRJPfvss9q9e7f69+9vd1wAAIB7xhNPPKEBAwboyJEjdkcBgAwRGxsrScqRI4fLc86dOydJyps3b2ZEAoB0KVKkiCRp9+7dLs9JGFu4cOFMyQRkFHa2AGlQqlQpjR07VmPHjtWFCxcUERGhuLg4FSpUiBs/gGynZcuWkiRjjFauXJnkelrc/FoAkB0UKFBAFy5ckJ+fn91RACBDFCtWTEeOHNGhQ4dUs2ZNl+Zs3LhR0vXPrQCQ3dSvX19z587VuHHj1LNnT3l43P7r6djYWH388ccyxqh+/fpZlBJIG4otQDrlz59f+fPntzsGACRr9erVkuRse3jjdWOMs/2hKxLG3/xaAJAdlCtXTqGhoYqKirI7CgBkiEaNGunIkSOaP3++unTpkuL4mJgYTZw4UcYYNW3aNAsSAkDqBAYGau7cudq+fbs6duyo6dOnq0SJErcce+LECQ0cOFDbt2+XMUZPPPFE1oYFUoliCwAAd7mmTZvesjiS3HUAuFMFBARo+/bt+umnn9K1ew8Asov+/ftr5syZ+u6779SvXz+1bds22bGXLl1Sr169dPToURljNGjQoCxMCgCueeSRR9S5c2ctWLBAK1asUPny5dWmTRvVq1dPvr6+MsYoPDxcmzZt0vLly53tFAMCAtSxY0eb0wO3Z6zULGcFAAAAgGzqwoULql69uk6dOqWff/6ZgguAu0KXLl20YMEC5cyZUy+88IK6d++u+vXryxijNWvWKEeOHFq2bJkmTpyo8PBwSddXjk+fPt3m5ABwa1evXlVgYKB+/PFHSUm7MCRI+Nq6e/fuCgoKUq5cubIsI5AWFFsAF6Xlw7oxRrlz51aBAgXk5+en+vXrq127dnJzc8uEhAAAANi/f7+6deumsLAwDRgwQL1791a1atXk7e3Nbj4Ad6SYmBh16tTJ2QI2OQlf77Rq1UqLFy/mS0kA2d6SJUv01Vdfac2aNYqJiUn0nKenp5o1a6bnn39eHTp0sCkhkDoUWwAXubm5JXtWQcJ/Rq5c9/X11ccff6zHH388kxMDAADcW9zd3Z2PU3u+lDFGDocjM2IBQLrFx8frk08+0bhx43Tq1KlbjvHx8dHLL7+sESNGsMAPwB0lLi5OBw8e1NmzZyVdv5+VL18+0Xs74E5AsQVwUfPmzWWM0alTp7R3715J1z+Uly9fXkWKFJEknT59WgcPHnR+uPfz85Ovr68uXLigvXv36vLly85577//vkaMGGHb7wMAyXE4HM7Dpb29veXhwRFvAO4M6fly0RijuLi4DEwDAKkzdOhQBQYGqk6dOsmOcTgc+vPPPxUSEqKIiAjFxcWpUKFCqlmzpho3bsxuFgAAbESxBUiF5cuXq1evXjLGaNSoUerbt6+8vb0TjYmKilJwcLBGjx4ty7I0c+ZMtW/fXg6HQ/Pnz9dLL72k48ePy93dXaGhoapcubJNvw0A/CssLEwTJ07UihUrtG/fvkQ78/z8/NS6dWs9/fTT8vf3tzkpACTvnXfeSdf8UaNGZVASAEi9hG4KlSpVUmBgoPr06aP77rvP7lgAkKEGDhwoY4zee+89FS9e3KU5p0+f1quvvipjjKZOnZrJCYG0o9gCuOjAgQOqVauWcuTIoY0bN8rPz++24/ft26cGDRro2rVrCgkJUcWKFSVJhw8fVq1atXT+/Hk9++yz+uKLL7IiPgDcUnx8vIYPH64vv/xS8fHxSu5tgTFGbm5uGjJkiD7++GNaUwAAAGSwhPdXCS0QjTFq1qyZ+vfvr65duypv3rx2xgOADJFQWN65c6fLC5APHDggPz8/diIj2+ObEsBFY8eO1cWLF/Xaa6+lWGiRJD8/P40YMUKXLl3S2LFjndfLli2rp59+WpZladWqVZkZGQBS1KtXL33++eeKi4uTZVmqUqWKBgwYoNdee02vvvqqBgwYIH9/f1mWpbi4OH322WecOQUAAJAJVqxYoSeeeEL58uWTZVmKj4/X6tWrNWDAABUrVkyBgYFavnx5sotjAACAvdjZArioQoUKOnz4sDZs2KB69eq5NGfTpk1q0KCBypYtq4MHDzqvL1++XO3atVP+/Pl17ty5TEoMALc3a9Ys9e3bV8YYVatWTZMnT9ZDDz10y7EhISF6+umntW3bNhljNHPmTPXq1SuLEwMAANz9rly5ogULFig4OFjLly+Xw+GQ9O+Ol+LFi6tPnz7q168fLV4B3HHSsrMlLCxMVatWVe7cuRUTE5PJCYG0Y2cL4KKTJ0+meW54eHiiPxctWlSSdPXq1XRlAoD0+PrrryVJFStW1Pr165MttEhSnTp1tHbtWlWqVEmWZWnSpElZFRMAAOCekjt3bvXq1UtLlizR8ePHNW7cONWqVUuWZcmyLJ08eVJjx45V9erVVatWLX366aeKiIiwOzYAZJrff/9dkuTr62tzEuD2POwOANwpChQooNOnT2vdunUu72xZu3atc+6NoqOjJUmFChXK2JAAkAo7duyQMUavvvqqSz3A8+bNq1dffVUDBw5UaGhoFiQEgLSzLEvbt29XaGioIiMjdfny5RRb74wcOTKL0gGAa4oWLaphw4Zp2LBh2r17t4KCgjRr1iwdO3ZMkhQaGqrhw4frlVdeUdu2bRUYGKjHHntMuXLlsjk5AFw3evToW17/6quvnIuRk3P16lUdOHBAixYtkjFGjRo1yoyIQIahjRjgoq5du2r+/Pny8fHRpk2bVKFChduO379/v+rVq6dz586pc+fOmjt3rvO5r7/+Wk8//bRq1qypLVu2ZHZ0ALglLy8vxcTEaPPmzapVq5ZLc7Zu3ao6deoob968unjxYiYnBIC0mTFjht555x0dOXIkVfM4cBXAnWL16tUKDg7W3LlzdeHCBUn/thnLnz+/evTooX79+qlx48Z2xgQAZ9uwBAlfRd94LSWWZSl37tzauHGjqlevnuEZgYxCGzHARcOGDZMxRlFRUapfv76+/PJLnT9/Psm4c+fO6YsvvlCDBg0UFRUlY4yGDx+eaMzixYtljFHDhg2zKj4AJFGmTBlJuuW9LDkJH+YT5gJAdvOf//xHAwcO1OHDh50td5L7kZTkzwBwJ2jevLmmTp2q8PBwzZo1Sw8//LDc3d1lWZbOnz+vr7/+Ws2bN7c7JgBISvx+yxgjY0yK79Msy1KuXLlUtmxZ9enTh0IL7ggUWwAXNWnSRKNHj5ZlWTp79qyGDh2qwoULq2LFimrcuLEaN26sihUrqkiRInrxxRd15swZSdK7776baJvjgQMHtGTJElmWpYcfftiuXwcA1LVrV1mWlWjnXUrmzJkjY4wCAgIyMRkApM2mTZv0/vvvS5LatGmj7du3a+vWrZKur56Mi4tTZGSkli5dqscee0yWZalx48Y6deqU4uPj7YwOAGly4/ku27ZtU5UqVZyrxSkiA8gO4uPjE/0k3Jv++uuvJM/d/BMTE6MDBw4oODiYQgvuCLQRA1Lpu+++0//93/8lOoDwVm9mixYtqvHjx6tXr15ZnhEAXHH+/HnVrl1bR44c0cyZM9WjR4/bjp8zZ44ef/xxlSlTRlu2bElyHhUA2O2JJ55QUFCQypYtq71798rDw0NhYWGqWrWqs9hyowkTJuj5559X9erVtWnTJuXMmdOm5ACQNlevXtWiRYsUHBysX3/9VQ6HQ5Kcq8dpjwgguylbtqyMMVq+fLnuv/9+u+MAGYpiC5AG165d0/z587Vy5Ur99ddfioqKkiR5e3urSpUqatWqlQICAjiUEEC2d/jwYfXs2VMhISF65JFH9MQTT+ihhx5S0aJFZYzRP//8o82bN2vGjBlatGiR6tSpo9mzZ9NGDEC2VLFiRR04cEAff/yxhg0bJkm3LbZIUvfu3TVv3rxEcwAgu1u7dq2Cg4M1Z84cZ5vXhK93ChYsqO7du6t///60rgYAIAtRbAEA4C7n7u6e4piE1Y+ujjHGOFdOAkB24eXlpZiYGC1dulRt2rSRJO3evdvZVufKlSvKkSNHojmLFi1S586dVa9ePW3cuNGO2ADgkj179ig4OFgzZ87U0aNHJf1bYPHw8FDbtm3Vv39/Pfrooyz8AwDABh52BwAAAJnL1XUVroxjjQaA7Cw2NlbS9XauCfLly+d8fPr0aZUoUSLRnPvuu0+StH///ixICACpExkZqe+++07BwcHasmWLpMTvx6pXr67+/furd+/eie59AJBdRUZGasSIEZKk9957L8l7s5udOHFCb731lowxGjduHO2ska1RbAEA4C43atQouyMAQJYoUqSITp486WypI0m+vr5yd3dXfHy8du/eneQD/alTpyRJFy9ezNKsAJCcq1evauHChQoODtayZcsSncMiScWLF1fv3r3Vv39/+fv72xkVAFJtzpw5+uabb1SjRo0UCy2SVLJkSYWGhmr79u1q3LixBgwYkAUpgbSh2AKk0cWLF3Xo0CFdvHjRpUMHmzZtmgWpACApii0A7hVVqlTRyZMn9ffff6tJkyaSpJw5c6pKlSrauXOnfvjhB7Vq1SrRnJkzZ0qSSx/2ASAzrVmzxnkOS0IBOKHAkidPHj322GMKDAxU27Zt5ebmZmdUAEizhQsXyhijbt26uTynR48e2rZtm+bNm0exBdkaxRYglb7++mt99dVX2rFjh8tzONsAAAAg8zVp0kTLli3TqlWrNHjwYOf1nj17aseOHZo2bZqKFSumnj17KiYmRjNmzNB3330nY4wefvhhG5MDgNSiRQsZY5wFFmOMmjRposDAQPXo0UNeXl42JwSA9Eto3Vq3bl2X59SpU0eStG/fvkzJBGQUY9F8HXBJXFycunbtqp9++klS6s4tMMa4tPsFALJS+fLlJUnDhw/XkCFDbE4DAOkXFhamqlWrKl++fDp+/Ljy588vSYqJiZG/v78OHz4sY0yiOZZlycfHR9u3b1epUqXsiA0AkuTcrVKhQgUFBgaqX79+Klu2rL2hACCD5c2bV1euXNHWrVtVvXp1l+aEhoaqZs2ayps3L61fka2xswVw0cSJE7Vo0SJJ13t/DxgwQLVr15aPjw9buAHckY4fP664uDjVqFHD7igAkCGqVKmiVatWyeFwJNpV7OnpqVWrVqlv3776/fffE83x9/dXcHAwhRYAtnvqqacUGBiohg0b2h0FADJNrly5dOXKFZ0/f97lOQnn8d28aAbIbii2AC4KCgqSJFWuXFnr1q2Tt7e3zYkAIH2KFSumEydOKE+ePHZHAYAM06xZs1teL1OmjNatW6c9e/YoLCxMDodDfn5+qlmzZhYnBIBbmzhxot0RACDTlSpVSufPn9fGjRtdPt84YbFMyZIlMzMakG4sxwdctHv3bhlj9NZbb1FoAXBXqFevnqTrbXcA4F5RqVIldenSRT169KDQAgAAkMWaN28uy7L0+eefO3es3M6FCxf0xRdfyBij5s2bZ35AIB0otgCpVKlSJbsjAECGePbZZ2VZlj755BPFxsbaHQcAAAAAcJd7+umn5ebmplOnTqljx44KDw9Pdmx4eLg6duyokydPyhijp59+OguTAqlHsQVwkZ+fnyTp7NmzNicBgIzRsmVLvf766woNDVWnTp107NgxuyMBAAAAAO5iVapU0dChQ2VZljZs2CA/Pz8NGjRIM2bM0LJly7R8+XLNmDFDgwYNkp+fnzZs2CBjjJ5//nnOG0W2ZyzLsuwOAdwJPvroI7366qsaNmyYxo0bZ3ccAEi30aNHS5LmzZunHTt2yN3dXY0aNVK1atXk7e0td3f3284fOXJkVsQEgFtau3Zthr+mq33DAQAAkHbx8fEaPHiwpk+fLin5g+8TvrZ+8sknNWnSpGTHAdkFxRbARVevXlW9evW0Z88eLVu2TE2aNLE7EgCki5ubW6I3q5ZlperNa1xcXGbEAgCX3HwPSy9jjBwOR4a9HgAAAG5v4cKFGjNmjDZt2qSbv6I2xqhhw4Z69dVX1alTJ5sSAqlDsQVIhYiICHXp0kUhISEaOnSoevfurQceeEC5c+e2OxoApJqbW/q6icbHx2dQEgBIvYRiS0Z9nDHGUEQGAACwwdmzZ7V9+3ZFRkZKkgoXLqyaNWvK29vb5mRA6lBsAVx0Yzud1K7+ZqUkAABAxkootuTOnVuPPfaY2rRpk+4icv/+/TMoHQAAAIB7DcUWwEXp+fDOSkkAAICMVaBAAV28eFHS9fdavr6+6t27t/r166fq1avbnA4AAADAvYZiC+Cid955J13zR40alUFJAAAAcOXKFS1cuFDBwcFatmyZHA6Hc+exv7+/+vXrp969e6tEiRI2JwUAAABwL6DYAgAAAOCOdvr0ac2aNUvBwcHaunWrpOu7Xdzc3NS8eXMFBgaqS5cuyps3r81JAQAA7g2jR492Ph45cuQtr6fFja8FZDcUWwAAAADcNXbv3q2goCDNmjVLx44dk3S98JInTx4FBASob9++atu2barO3wMAAEDqJJyvJylRa/0br6cFbfqRnVFsATLZ5s2bFRQUpM8//9zuKABwS9euXdPMmTO1YMEChYaGKjIyUpcvX77tHGOMHA5HFiUEgLRZvXq1goKCNG/ePF24cEHSv+e79OvXT2PGjLE5IQAAwN3pxrOP4+Pjb3k9LW58LSC7odgCZILjx48rODhYwcHB2rNnjyQq7wCyp71796pz587as2ePUvOWwBjDfQ3AHePKlStasGCBgoODtXz5cjkcDuXOnVsxMTF2RwMAAABwl/CwOwBwt4iOjtacOXMUFBSkNWvWOL+0tCyLNhUAsqXo6Gg9/PDDOnTokNzc3PTYY4+pSJEi+vrrr2WM0ZtvvqmoqCiFhITojz/+kDFGDRo0UJs2beyODgCpknB+izGG92UAAAAAMgXFFiAdLMvSihUrFBQUpAULFjhXRyYUWkqVKqUuXbqoa9eudsYEgFuaOHGiDh06JHd3d/36669q2bKlwsLC9PXXX0uS3nnnHefY7du3q2/fvvrjjz/Uq1cvDRkyxK7YAOCyNWvWKDg4WHPmzNHFixclXX+fVrx4cfXr18/mdAAAAHe3oUOHKjAwUHXq1LE7CpAlaCMGpEFYWJhmzJihWbNm6dSpU5L+LbCULl1a3bt3V7du3fT/2rv/oKqr/I/jrw8iqCmiCIrVV5gyDVTyV4WCaDiUWBppSiA/smy3qd2mH7vlumllzfTDtlrLrEyFC5qaNmjtpokrElmS+QtE11JsC5UfaoEoCny+fzj3CsJF9KJX4PmYcebTPee87xuaqSsvzjm33XabM9sEgAaNHDlSmZmZio6OVmpqqqSz/33r379/vceEFRUVKSgoSMXFxdq8ebMGDx7sjLYBoEF5eXmyWCxKTU3VL7/8Iuns57QOHTooKipK8fHxCg8Pd/i8cAAAADTMurO4T58+io+PV2xsrK6//npntwVcNoQtQCMVFRUpNTVVycnJ2rFjh6RzAYunp6eOHz8uwzC0dOlSTZo0yZmtAkCj+Pj4qKSkRMuWLdPEiRMl1Q5bKisr6xy3M2fOHP31r39VQkKCFi1a5Iy2AaCOwsJCLV26VBaLRdu2bZN09nOai4uLRo0apfj4eN1333265pprnNwpAABA62H95Rbr3ysNw1BYWJgSEhI0YcIEPpuhxeEYMaABFRUVSktLU3JystatW6eqqipbwOLu7q7IyEhNmTJFkZGRat++vZO7BYCLc/z4cUlSr169bK+5u7vbnsvKytSpU6daa4YPHy7p7NE8AOBM5196X/NzWr9+/RQXF6fY2Fj17NnTyZ0CAAC0TuvXr1dKSopWrlyp0tJSmaapjRs3auPGjXrssccUFRWluLg4jR49mnv10CIQtgD1+Prrr5WcnKwVK1bo999/l3TuovvQ0FBNmTJFkyZNUufOnZ3cKQBcug4dOqi0tLTWh1pPT0/b888//6zAwMBaa6xzDx8+fEV6BAB7fHx8dOLECUlnP6f16NFDDzzwgOLi4nTLLbc4tzkAAADojjvu0B133KF58+bV+iWZyspKnThxQqmpqUpNTZWvr69iY2MVFxenfv36Obtt4JIRtgD1GDFihAzDsP12ZEBAgGJjYxUbG6v/+7//c3J3ANA0/P39tXPnThUUFNhe69atm7p27apjx44pKyurTtiydetWSZKbm9sV7RUAzldWVibDMNSuXTuNGzdOERERatOmjXbu3KmdO3deUs34+Pgm7hIAAADt2rVTdHS0oqOjVVhYqCVLliglJUU//PCDJKmgoEBz5szRnDlzFBQUpISEBD3wwAPy8fFxcufAxeHOFqAe1gu8OnbsqHfeeUeJiYmNXsOdLQCai2nTpmnhwoWaMWOGXnrpJdvrkydP1ooVK3TDDTfo22+/lZeXlyQpPz9fI0aM0K+//qrQ0FBt3LjRSZ0DwLnPXk3FelcVAAAAroy8vDwlJydryZIl+t///ifp3GkKbdq0UUREhOLj4zV+/PhaR14DVyvCFqAe51/gFRgYqClTpigmJkbXXXed3TWELQCak+XLlys6OloDBgzQ9u3bba9nZWUpNDRUhmHI09NTd9xxh8rLy/X111/bjh2zWCyKiYlxXvMAWj3r57WmYhiGqqqqmrQmAAAAGmfjxo2yWCxauXKl7Uh/68/lPDw8NGnSJMXFxSkkJMSZbQINImwB6pGVlaWkpCR9+umntgukDcOw3dkSFxeniRMnysPDw7aGsAVAc1NeXq7IyEhVVVVp8eLFuuGGG2xjL7zwgm23i/UDrvUjw9SpU7VgwYIr3zAA1JCRkdHkNcPCwpq8JgAAABrv1KlTde53sXJxcWEnMq5qhC1AA06fPq20tDQlJSVp3bp1qqystP3Q0d3dXWPHjlVcXJwiIyPl5uZG2AKgRUlPT9eCBQuUm5uryspK9e7dW/Hx8ZowYYKzWwMAAAAAtHC5ubmKjo7W7t27ZZomO5Fx1SNsARqpqKhIKSkpSk5O1o4dOySd+21vT09PHTt2jLAFAAAAAAAAuEQVFRVavXq1LBaL1q5da9vJQtiC5oCwBbgEOTk5Wrx4sZYuXapDhw5JOhe8+Pr6asKECZo4caJCQ0Od2SYAAAAAAABw1du0aZMsFos+/fRT250t1h9be3p66v7771dCQoKGDRvmzDaBBhG2AA6orq7WunXrlJycrLS0NJ08eVLSueDFx8dHUVFRmjBhgsLDw53ZKgAAAAAAAHDV2Lt3rywWi1JTU/Xzzz9LOhewuLq6KiIiQgkJCRo3bpzc3d2d2SrQKIQtQBMpLS3VsmXLZLFY9PXXX9v+52AYhgzD4AIvAFe98vJyff/99w3Oad++vYYOHXqFOgIAAAAAtCTFxcVaunSpLBaLtm7dKulcwCJJQUFBSkhIUExMjHx8fJzVJnBJCFuAyyA/P1/JyclKSUnRjz/+yJmSAK4Kmzdv1uzZsyVJDz30UJ2L7nNzc9W/f3/b7jx7srKydPvtt1+2PgEAAAAALUdFRYXS0tJksVi0bt26WvewSGeP5I+JiVFCQoL69evnzFYBhxC2AJdZVlaWLBaL5s+f7+xWALRyo0aNUkZGhgIDA7V161a5ubnVGreGLRcSGhqqjIyMy9UmAAAAAKAFyMjIsN3DUlpaKulcwNK+fXuNHz9e8fHxioiIkIuLizNbBZoEYQsAAK3Avn371KdPHxmGobS0NN1999115tTc2TJz5sw648eOHdM///lPGYah3Nxc9e3b90q0DgAAAABohlxcXGQYRq2j9kNCQhQfH69JkyapU6dOTu4QaFquzm4AAABcfqtWrZIk9enTp96g5XyzZs2q9/Vvv/1W2dnZWrFihZ5//vkm7REAAAAA0LKYpqkbbrhB8fHxiouLk5+fn7NbAi4bwhYAAFqBzZs3yzAMjR071qE6UVFR2rJli7Zs2dJEnQEAAAAAWqJHHnlE8fHxGjZsmLNbAa4IwhYAAFqBXbt2SZKGDx/uUJ2goCBJZ48cAwAAAADAHu4vRmtD2AIAQCtQXFwsSerevbvdOYZhyMXFpcGLCX18fCRJR48ebdoGAQAAAAAAmjHCFgAAWoFTp05Jktq1a2d3TkBAgCorKxusYxiGJOnkyZNN1xwAAAAAAEAzZ/9XVwEAQIvRpUsXSVJJSYlDdazrrfUAAAAAAABA2AIAQKvQo0cPSdK2bdscqrNz585a9QAAAAAAAEDYAgBAqzBs2DCZpqk1a9Y4VGf16tUyDEPBwcFN1BkAAAAAAEDzR9gCAEArcOedd0qSsrKylJ6efkk1MjIytGnTJknSXXfd1WS9AQAAAAAANHeGaZqms5sAAACXl2maCgwM1J49e+Tt7a3MzEzddNNNjV6/f/9+hYSE6MiRI+rdu7fy8vJkGMZl7BgAAAAAAKD5YGcLAACtgGEYmjNnjgzDUHFxsYYMGaK5c+fqxIkTDa47efKk3n//fQ0ePFiHDx+WYRh68803CVoAAAAAAABqYGcLAACtyGuvvabp06fbwpKOHTsqNDRUgwYNkre3tzp27KgTJ06oqKhIP/zwgzIzM1VaWirrx4WXX35Zf/vb35z5JQAAAAAAAFx1CFsAAGhlkpOT9eijj+rkyZOS1OAuFevHhPbt2+u9995TYmLilWgRAAAAAACgWSFsAQCgFSooKNCbb74pi8Wi4uJiu/O8vLwUHx+vp556Stdee+0V7BAAAAAAAKD5IGwBAKCVy83N1c6dO1VcXKzS0lJ16tRJXl5eCgoKUmBgoLPbAwAAAAAAuOoRtgAAAAAAAAAAADjAxdkNAAAAAAAAAAAANGeELQAAAAAAAAAAAA4gbAEAAAAAAAAAAHAAYQsAAAAAAAAAAIADCFsAAAAAAAAAAAAcQNgCAAAAAAAAAADgAMIWAAAAAAAAAAAABxC2AAAAAAAAAAAAOICwBQAAAAAAAAAAwAGELQAAAAAAAAAAAA4gbAEAAAAAAAAAAHAAYQsAAADQQv3222967733FBkZKT8/P3Xo0EGdO3fWTTfdpNjYWC1btkxVVVXObhMAAAAAmj3DNE3T2U0AAAAAaFoLFizQc889p5KSkgbnBQQE6IMPPlBISMgV6gxNKT8/X/7+/pKkRYsWKTEx0bkNAQAAAK0UO1sAAACAFuYvf/mLpk2bppKSErm6umrKlClavny5vvvuO2VmZmrBggUKDw+XJO3evVujR4/Wp59+6uSuAQAAAKD5cnV2AwAAAACaznvvvac5c+ZIkq6//nqtWbNGQUFBteaEhITooYce0rJlyxQfH6+KigrFxsbqxhtv1C233OKErgEAAACgeWNnCwAAANBCHDx4UM8884wkqWPHjtqwYUOdoKWmyZMnKykpSZJ0+vRpxcXFiVOGAQAAAODiEbYAAAAALcTbb7+tU6dOSZJmzZqlG2+88YJroqOjNXbsWElSTk6OPv/881rjI0eOlGEYGjlypCRp7969euSRR+Tv76927drJ19dX999/vzZv3mz3PfLz82UYhgzD0OLFiyVJK1as0OjRo+Xj46P27durb9++eu6553Ts2LEL9nz69GnNmzdPo0aNkre3t9zc3NSjRw9FRkYqJSVF1dXVdtcmJibKMAz5+flJko4fP66ZM2cqMDBQ11xzjTw9PTVixAilpqZesA9JKi8v19tvv61Ro0ape/fucnNzk4+PjyIiIrRo0SJVVVXZXevn5yfDMGz3rOzZs0fTpk2Tn5+f3N3d1b17d0VFRenbb7+td71hGLb7WiTpwQcftH2frX9eeOGFWmuOHz+uV155RcHBwerSpYvatm0rb29vBQQEKCoqSu+//74KCwsb9bUDAAAAOMcw+dU1AAAAoNkzTVPdunXT0aNH1b59ex06dEidO3du1Np169bpzjvvlCRFRUVp1apVtrGRI0cqIyNDYWFhevbZZ3X//ffrxIkTdWq4uLjojTfe0FNPPVVn7PxL3DMzM7Vw4cJ6e/H19dX69esVEBBQ7/jBgwc1ZswY5eXl2f16QkJClJaWpq5du9YZS0xMVFJSknr16qUvv/xSY8aMUX5+fr11HnvsMb377rt23yc7O1tRUVH69ddf7c659dZbtXr1anXv3r3OmJ+fnw4ePKiEhASNGzdOcXFxKi8vrzOvTZs2Sk1N1eTJk2u9bhiG3fe1mjVrli1wycvL0+jRo1VQUNDgmrlz5+rxxx+/YG0AAAAA5xC2AAAAAC1ATk6O+vfvL0m688479eWXXzZ6bVVVlTw8PFReXi5vb+9aOxusYUvv3r1VVFQk0zT17LPP2na6/Oc//9Frr72m33//XZK0cuVK3XfffbXq1wxbhg4dquzsbN1666168skn1bt3bxUWFiopKUnLli2TJF133XXKzc2Vh4dHrTplZWUKCgrS/v37JUn33nuvpk6dqp49e+rAgQN69913lZGRIUkKDg5WZmam2rRpU6uGNWzx9vaWp6enDh8+rCeeeEKjR49Wx44dtW3bNr344ov65ZdfJElffvmlLYiqadeuXQoODtaJEyfk4+OjRx99VKGhofLy8lJhYaFWr16tDz74QJWVlbrtttuUmZmptm3b1qphDVsGDhyovLw8+fr66umnn9aQIUNkmqbWrl2rV199VadOnZKHh4d+/PFHeXt729bn5OSooKDA1t/LL7+s8ePH13oPHx8f+fj4SJKGDBmirVu3qm3btpo2bZrGjBmjHj16qLq6WgUFBdqyZYtWrlypP/3pT4QtAAAAwMUyAQAAADR7KSkppiRTkjl9+vSLXh8cHGxb/+uvv9peDwsLs73euXNnc/fu3XXW5uTkmB4eHqYks2fPnmZFRUWt8QMHDthqSDIjIyPNM2fO1Knz0ksv2eY888wzdcafeeYZ2/jf//73OuPV1dVmbGysbc68efPqzElISLCNe3p6mjk5OXXm7Nu3z2zXrp0pyRw3bly97zNgwABTkhkUFGQWFRXVmWOapvnvf//bdHFxMSWZCxYsqDPeq1cvWy+DBw82jx8/XmdOzX+v//jHP+qM1/zeLlq0qN4+TNM0f/rpJ9u8uXPn2p1XXV1tHj161O44AAAAgPpxZwsAAADQAhQXF9uee/TocdHrax5zVVJSUu+c559/XjfffHOd1wMDAzVjxgxJUkFBgdLS0uy+j7u7uz766CO5urrWGZsxY4b69esnSfr4449VUVFhG6uoqNCCBQskSQEBAXXuIpHOHqs1b948eXl5SVKDR4BJ0ksvvaTAwMA6r99444269957JUmZmZl1xr/44gvt3LlTkpScnKxu3brVW/+uu+7SxIkTJZ09Pq0hCxcurPfYt5iYGPXs2dNuL411+PBh2/OIESPszjMMQ126dLnk9wEAAABaK8IWAAAAoAUoLS21PV9zzTUXvb7mGuuRYDUZhqGEhAS7662Xs0vS+vXr7c6LiIiwhQfnc3Fxsb3HsWPH9MMPP9jGtm7dquPHj0s6exTY+ceDWXl4eGjSpEmSpN27d+vQoUP1zjMMQzExMXb7HDx4sK0P6/taWcOkPn36aMCAAXZrSOeCjezsbFVVVdU7p3///nbrGIahgQMHSpLt+LRL4evra3tevHjxJdcBAAAAUD/CFgAAAKAF6NSpk+25rKzsotfXXHP+XSmS5O/vb3cHhyR5e3vLz89P0tm7ROwZOnRog33ceuuttueadWo+33bbbQ3WqDlur5du3brZdsDUp2vXrrbnmkGWJH3//feSpL1798owjAb/WO8+OX36tI4ePVrve/Xt27fBr8fay/l9XAx/f3+FhoZKkt566y0FBgZq5syZ2rBhg8rLyy+5LgAAAICzCFsAAACAFqBmcFDzyKjGOnLkSL21rKyXrDfEehSZvVChMXVqHmdWs07N55pz6lPzGDV7vXTo0KHBGi4u5/6qdP6OlMLCwgbX2mMv1GhsL/Z2xjTW0qVLFRwcLOnsrp/Zs2crPDxcnp6eCgsL0/z583Xq1CmH3gMAAABoreoelAwAAACg2QkKCrI9b9u27aLWVlVV2e4g8fb2rveYL+sRYQ0xTfOCcy5U50rVcIQ19Bg+fLjmz5/f6HX2jk+7Uq699lp98803Sk9P16pVq5SRkaHdu3frzJkz2rRpkzZt2qQ5c+boX//6l2666San9goAAAA0N4QtAAAAQAvQr18/de3aVUePHtWmTZv022+/1Xvhen3Wr19v23UREhJS75yaO1/sse74qHkE18XWqblrpGadms+HDx9uMAyo+R4N9XKpvLy8dOTIERUVFalfv35NXv9yCw8PV3h4uCSppKRE69ev14cffqgNGzbop59+0uTJky86sAMAAABaO44RAwAAAFoAwzAUFxcnSTp58qQ++uijRq+dO3eu7TkxMbHeOQcOHFBJSYndGkVFRcrPz5ekBgOI7OzsBnupOV6zTs3n7777rsEaW7ZsqXddU7FeWP/f//5XBw8ebPL6F6MxO44a4uXlpcmTJys9PV3jxo2TJG3fvl379u1rivYAAACAVoOwBQAAAGghnnjiCbm7u0uSXnzxRf34448XXPPJJ5/oiy++kCQFBATo7rvvrneeaZpKTk62W2fx4sW247tGjx5td966det06NCheseqq6uVlJQkSerSpYsGDRpkGxs8eLA8PT0lSUlJSXbvLyktLdXy5cttX4+vr6/dXi6VNZSQpNdff73J61+Mdu3a2Z4rKiocqmXd7SJJxcXFDtUCAAAAWhvCFgAAAKCF8Pf3t/3wv6ysTOHh4dqxY4fd+cuXL1dCQoIkyc3NTRaLpdbF8OebPXu29u7dW+f1vLw8vfLKK5IkX19fjR8/3m6NiooK/eEPf6g3LHn11Ve1a9cuSdLUqVNtwZEkubu76+GHH5Yk5ebm6sUXX6yz3jRNPf7447ag4PHHH7fbhyMmTJigm2++WZL0/vvv6+OPP25wfk5OjtasWXNZevHy8pKbm5sk6aeffrI7b/v27dq+fbvdcdM0tX79eklnd8v4+fk1ZZsAAABAi8edLQAAAEAL8uc//1n79+/XO++8o59//llDhgzRAw88oHHjxqlXr146c+aM9uzZoyVLlig9PV3S2aAlOTm51k6S8/Xu3VuFhYW6/fbb9eyzz2rkyJGSpI0bN+rVV1/Vb7/9JunskWTWH/7XZ8iQIVqzZo2GDx+uJ5980lY3KSlJn3zyiSTpuuuu0/PPP19n7cyZM7Vq1Srt379fs2fPVk5OjqZOnaqePXvqwIEDevfdd7Vx40ZJUnBwsB555JFL+RZeUJs2bbRs2TINGzZMZWVlevjhh7VixQrFxMSoT58+atu2rQoLC7Vt2zZ9/vnn+uabb/T000/rnnvuafJeXF1dNXToUGVlZWnhwoUaOHCgbrnlFrVt21bS2Ttrunbtqu3bt+vBBx/U0KFDdc8992jQoEHq0aOHzpw5owMHDmjRokX66quvJEnjx4+/LDuCAAAAgJaMsAUAAABoYd5++2317dtXM2bM0NGjR2WxWGSxWOqd27dvX82fP19hYWEN1uzZs6feeustTZo0SdOnT68z7uLiotdff10TJkxosM5jjz2mjIwMLV68WNHR0XXGfX19tXbtWnXu3LnOWKdOnZSenq4xY8Zoz549+uyzz/TZZ5/VmTd8+HCtXr1abdq0abAXR/Tv319ZWVmaOHGi9u3bp7Vr12rt2rV253t4eFy2XqZPn6577rlHJSUliomJqTU2a9YsvfDCC7Z/zs7ObvDenJCQkAvu1AEAAABQF2ELAAAA0AL98Y9/VHR0tFJSUvTFF18oNzdXRUVFcnV1Vffu3TV06FCNHz9eEydOlKtr4/5aMHbsWH3//fd64403tGHDBh06dEienp4KDQ3V008/reDg4EbVWbRokSIiIvThhx9q165dKisrU69evXTvvffqueeeU5cuXeyu9fPz044dO/TRRx9pxYoVysnJ0e+//66uXbtq4MCBio2NVUxMTIPHoTWVAQMGaPfu3VqyZIk+++wzbd26VUVFRaqurpaXl5f69OmjkJAQRUVFNbhryFFjx45Venq63nnnHWVnZ6uoqEhnzpypNScmJkZ+fn766quvlJmZqV9++UVHjhxRZWWlfHx8NGjQIEVHR2vy5MlX5HsHAAAAtDSGab3FEgAAAADOM3LkSGVkZCgsLMx2RNfFys/Pl7+/v6SzQUtiYmLTNQgAAAAAVwF+ZQkAAAAAAAAAAMABhC0AAAAAAAAAAAAOIGwBAAAAAAAAAABwAGELAAAAAAAAAACAAwhbAAAAAAAAAAAAHGCYpmk6uwkAAAAAAAAAAIDmip0tAAAAAAAAAAAADiBsAQAAAAAAAAAAcABhCwAAAAAAAAAAgAMIWwAAAAAAAAAAABxA2AIAAAAAAAAAAOAAwhYAAAAAAAAAAAAHELYAAAAAAAAAAAA4gLAFAAAAAAAAAADAAYQtAAAAAAAAAAAADiBsAQAAAAAAAAAAcABhCwAAAAAAAAAAgAMIWwAAAAAAAAAAABxA2AIAAAAAAAAAAOAAwhYAAAAAAAAAAAAHELYAAAAAAAAAAAA4gLAFAAAAAAAAAADAAYQtAAAAAAAAAAAADiBsAQAAAAAAAAAAcABhCwAAAAAAAAAAgAP+H+RuBrDcEBgPAAAAAElFTkSuQmCC", "text/plain": [ "
    " ] }, "metadata": { "image/png": { "height": 653, "width": 813 } }, "output_type": "display_data" } ], "source": [ "multiple_meetings = results_by_op[(results_by_op.Win + results_by_op.Loss) > 1]\n", "multiple_meetings.plot(kind=\"bar\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercise:\n", "\n", "Find images on the UiO page\n", "\n", "1) Go to https://en.wikipedia.org/wiki/University_of_Oslo \n", "2) Download the content from the site using BeautifulSoup and requests\n", "3) Search for all images (using `images = document.find_all('img')`) and print out the content\n", "4) Include only images with the attribute `class_=\"mw-file-element\"` in your list of images.\n", "5) Print out a list of the value of the \"src\" attribute for the images in 4. \n", "6) See if you can display an image by pasting a result from 5 into your web-browser." ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", "\n", "Universitetet i Oslo – Wikipedia\n", "